用过一个叫 zerorpc 的库。
grpc
可以用 zeromq 去做,也可以用 grpc,ice 什么的
我以前问过这个问题。。关注一下。。我最后用了 http,去他妈的没兴趣搞了
我倒是推荐 GraphQL,当然,RPC 的话可以用 GRPC
阿里自己 node 用这么多肯定有的,还有 grpc
hprose 了解一下
grpc 几乎已经是业界标准了
thrift 不错
其实大部分的应用场景用 JSON-RPC 足够了。
基于 HTTP 的 JSON-RPC
http 的 rpc
https://github.com/ysmood/nisper 不流行,但是挺好用
gprc
如果是 node 跟后端交互,用 thrift 吧,有 node 版本,通过 protobuf 序列化 request 对象跟后端交互
如果是 node 构建 rpc 服务,推荐关注一下 egg 的 sofa-rpc-node,或者用 thrift 自己搭建
我这边实现的 node 跟后端的交互就是用的 thrfit+protobuf
在Node.js环境中,有多个流行且好用的RPC(远程过程调用)库可供选择。以下是一些推荐的RPC库,以及如何使用它们的简要说明:
-
Kamote:
-
Kamote是一个专为Node.js环境设计的轻量级、高效的RPC框架。
-
它简化了服务间的数据交换与调用流程,支持多种通信协议(如HTTP/HTTPS、WebSocket等),并内置了完善的错误处理机制和丰富的插件接口。
-
安装命令:
npm install kamote --save
。 -
使用示例:
var kamote = require('kamote'); var server = new kamote.Server({host: 'localhost', port: 3000}); server.expose({'add': function(a, b) { return a + b; }}); server.listen();
-
-
node-jsonrpc2:
- node-jsonrpc2是另一个流行的Node.js RPC库,它基于JSON-RPC 2.0协议。
- 适用于需要通过JSON格式数据进行远程调用的场景。
- 安装命令:
npm install node-jsonrpc2
(具体命令可能因版本而异,请参考官方文档)。
-
node-ipc:
- node-ipc也是一个功能强大的Node.js RPC库,支持多种进程间通信方式。
- 适用于需要在不同Node.js进程间进行高效通信的场景。
这些RPC库各有特色,开发者可以根据具体需求选择合适的库进行使用。