ms-tcp
Solution for communication between services using TCP protocol with built-in auto-retry & reconnect. 🔬
Install
$ npm i ms-tcp -S
Tests
$ npm test
Examples
There are some simple examples.
API
Server
.constructor()
const server = ;
.on(action, ...middlewares)
event
<string> Action name...middlewares
<function[]> Action middlewares
This method creates action.
const Balances = ; server;
.use(...middlewares)
...middlewares
<function[]> Common middlewares
This method creates common middlewares.
.listen(port[, host, callback])
This method starts listening.
Client
.constructor(options)
options
<Object>services
<Object> Available services[key]
- <string> Service name[value]
- <string / Array<string> / Object{host, port} / Array<Object{host, port}>> Service's address
const client = services: balances: '127.0.0.1:3000' ;
.mock(requests)
requests
<Object>
This method save mocks responses for .ask
.
if processenvNODE_ENV === 'test' client; const balance badUser goodUser = await Promiseall client client client; console; // => 200console; // => falseconsole; // => true
.ask(name[, payload, options])
event
<string> Event name in format<service_name>.<action>
data
<?Object> Event dataoptions
<?Object> Options
This method asks other service for something.
app;
.middleware()
This method returns middleware for Koa or Express.
const Koa = ;const tcp = ; const app = ;const client = ; app; app; app;