jm-ms 是一个微服务框架,支持用最简单的方式构建微服务 https://github.com/jm-root/jm-ms 服务器端采用类似express的方式定义路由,客户端调用支持类似ajax的方式,非常简单,容易上手
安装 npm install jm-ms
使用 定义微服务只需要三步。 第一步 定义服务函数 第二步 添加路由 第三步 开放服务 下面定义一个获取fullName的微服务,传入参数firstName, lastName,服务返回全名
var jm = require(‘jm-ms’); var app = jm.ms();
//定义服务函数 function fullName(opts, cb) { var data = opts.data; cb(null, {ret: data.firstName +’.’+ data.lastName}); }
//添加路由 app.add(’/fullName’, ‘get’, fullName);
//开放Http jm.ms.server(app, { type: ‘http’, port: 3000 }); //开放WebSocket jm.ms.server(app, { type: ‘ws’, port: 3100 });
//到此, 服务定义完成, 下面介绍服务调用方式
//本地调用 app.get(’/fullName’, {firstName: ‘jeff’, lastName: ‘yu’}, function(err, doc){ console.info(‘result: %j’, doc); });
//浏览器直接Resful调用,打开浏览器,访问 http://localhost:3000/fullname?firstName=jeff&lastName=yu
//Http客户端调用 jm.ms.client({ uri: ‘http://localhost:3000’ }, function(err, doc){ var client = doc; client.get(’/fullName’, {firstName: ‘http’, lastName: ‘yu’}, function(err, doc){ console.info(‘result: %j’, doc); }); });
//WebSocket客户端调用 jm.ms.client({ uri: ‘ws://localhost:3100’ }, function(err, doc){ var client = doc; client.on(‘open’, function() { client.get(’/fullName’, {firstName: ‘ws’, lastName: ‘yu’}, function(err, doc){ console.info(‘result: %j’, doc); }); }); });