nodejs服务间如何通信
发布于 7 年前 作者 yudawei1230 6289 次浏览 来自 分享

nodejs服务间如何通信,还是走http么,貌似没有有关tcp方面的框架,我想用node做一个中间层下游node没有及时处理请求时,单线程阻塞时,做些异常处理并响应相关静态资源

15 回复

socket.io 不就是tcp的框架么?

你需要RPC

@imhered websocket 和 tcp 不是一回事

你可以参考一下eggjs的方案
用http还是socket看是不是有实时同步之类的场景

@Matrixbirds 我就是想做基于egg框架的 http/tcp的网关 自豪地采用 CNodeJS ionic

@zhhb 有用过node的相关rpc库么,没有的话,只能自己写了 自豪地采用 CNodeJS ionic

等9.0稳定了可以用http2实现 自豪地采用 CNodeJS ionic

使用跨平台的rpc库即可。

可选的又grpc,thrift。

通信线路稳定,可以采用udp,

@yudawei1230 可以参考这个的设计https://github.com/NetEase/pomelo

建立 socket 连接就可以通信了,net 模块的那个,不过是单向的,也是最底层的。或者直接通过 HTTP 通信就行,这是最简单的。像这种再同一个台机器上面的可以通过redis 先存到内存里面,通过订阅再拿出来执,行或者消息队列,最主要还是看场景。RFC只是一个标准,RFC 也要建立 socket, socket 是网络OSI标准的可编程的接口。 untitled1.png

假如是父子进程,还可以进行进程间通信。

rpc 框架那么多,你居然说没有

回到顶部