a minimalist toolkit for building fast, scalable and fault tolerant microservices
- host : binds server instance to this value. it's 0.0.0.0 by default.
- pino : options for pino logger. it's { "level": "error" } by default.
- port : start point for port assignment. it's 8000 by default.
const Clerq = require('clerq'); const { Client, Server } = require('dot-rest'); const IORedis = require('ioredis'); class Service { static _configure() { return { echo: [ '*', '/:path' ] }; } static _name() { return 'myService'; } static async echo(req) { // ? , res return req.params; } } const registry = new Clerq(new IORedis(), { expire: 5, pino: { level: 'error' } }); const client = new Client(registry, { expire: 5, pino: { level: 'error' } }); const server = new Server(registry, { expire: 5, pino: { level: 'error' } }); server.start() .then(() => server.addService(Service)) .catch(console.log); setTimeout(async() => { const r = await client.get(Server._unCamelCase(Service._name()), 'test'); console.log(r.data); server.stop(); client.close(); }, 500);