bipbop/microservices

BIPBOP 微服务通信

安装: 1

依赖项: 0

建议者: 0

安全: 0

星星: 0

观察者: 2

分支: 0

公开问题: 3

语言: TypeScript

1.0.9 2021-12-06 19:23 UTC

README

小型内存占用低的服务,采用JavaScript编写的PAYLOADS,安装在安全网络上。

安装

npm install -g bipbop-microservice
bipbop-microservice

通信

所有通信均采用JSON格式。

TCP/UDP

uint    <=  4 Bytes do tamanho do PAYLOAD
char[]  <=  PAYLOAD JSON
uint    =>  4 Bytes do tamanho do RESPONSE
char[]  =>  RESPONSE JSON

环境变量

BIPBOP_MS_PORT=3000
BIPBOP_MS_MAX_CONNECTIONS=500
BIPBOP_MS_MAX_PAYLOAD_SIZE=100000 #bytes
BIPBOP_MS_TIMEOUT=3000 #ms

微服务列表

返回微服务列表及其相应参数的JSON-Schema

调用

{"service": "index", "payload": ""}

TL-DR

const { createServer } = require("bipbop-microservices");

createServer({
  hookError: (_, e) => console.error(e),
  timeout: 3000,
  maxPayloadSize: 512000,
  services: {
    mirror: {
      call: (payload) => {
        return payload;
      },
      request: { type: 'string' },
      response: { type: 'string' }
    },
  }
});

server.maxConnections = 10;
server.listen(serverPort);

客户端

PHP

存在一个用于连接微服务的PHP库。

composer require bipbop/microservices
use BIPBOP;

$client = new Microservices\Client(
  "localhost",
  3000,
  Microservices\Client::PROTO_UDP,
  ['sec' => 3, 'usec' => 0]);
var_dump($client->call("mirror", "content"));