Quantcast
Channel: CNode:Node.js专业中文社区
Viewing all articles
Browse latest Browse all 14821

超简单微服务框架 jm-ms

$
0
0

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); }); }); });


Viewing all articles
Browse latest Browse all 14821

Trending Articles