nodejs 实现分布式方法调用

发布者: xiaozhimn

大家知道 java 端有 rmi 远程方法调用,php 有rpc,淘宝的 hsf框架就是为了实现远程方法调用的框架,远程方法调用主要应用到分布式架构设计当中,node 端实现远程方法调用的方式是使用 dnode,远程方法调用的实现原理是通过在客户端将调用的接口以及参数进行序列化以后通过http请求或者socket请求进行传输然后在服务端进行反序列化,在服务器端执行完成以后在通过 response 将结果返回给客户端,如果客户端需要执行回调以同样的序列化和反序列化方式进行,今天将为大家介绍一个node端实现远程方法调用的案例:

第一步实现server端代码

var dnode = require('dnode');
var server = dnode({
    showHellWorld : function (param, callback) {
        callback("收到客户端接口请求");
    }
});
server.listen(8888);

解释: 在服务端我们定义了一个远程接口 showHelloWorld,并且在方法体中执行了客户端的回掉方法。 

第二步实现client端代码

var dnode = require('dnode');
var d = dnode.connect(8888);
d.on('remote', function (remote) {
    remote.showHellWorld('客户端调用接口', function (s) {
        console.log(s)
        d.end();
    });
});
解释:客户端在监听远程链接成功以后通过 remote 对象调用服务端注册的远程方法 showHelloWorld。
0赞