是这样的:我想用Node做Web Server处理高并发http请求,然后将前端获取的一些数据传递给本地的Ruby进程做计算分析,最后Ruby将处理结果返回给Node并响应给浏览器。
可问题是以前没做过异构系统之间的通讯,不清楚有什么好一点的解决方案。
目前我有这几种想法,不知哪种方案可行(或者以下是否有可行的…):
- 通过Node的child_process模块跑Ruby脚本,每请求一次执行一次。
- 同时开启Node进程和Ruby进程,双方直接通过Socket通信
- 使用Redis做共享空间
不想使用现成的库,因为毕竟之前对这方面不了解,也想借此机会学习学习。
麻烦各位,提供个具体思路,谢谢。
回复 (14)
A
引用 abbshrgot it! 已经折腾出可行方案了~ 尽管没人回答,还是谢谢各位看官~ closed
@kazaff socket
M
Apache的 Thrift 是否满足你呢?
A
引用 mq1980Apache的 Thrift 是否满足你呢?
这个貌似不错,不过不想借助framework,已经用原生代码解决了~仍然感谢
A
got it! 已经折腾出可行方案了~ 尽管没人回答,还是谢谢各位看官~
-closed-
K
Y
需要测试你ipc的吞吐量
A
引用 yorkie需要测试你ipc的吞吐量
IPC吞吐量,你指的是一次进程通信中交换的数据量吧?这个不算大
F
简单的实现就是用类似dnode的远程RPC调用 Ruby给node提供服务 或者Ruby直接提供http服务,通过http通信也可以 无非就是几个服务独立,node不做计算,计算都异步请求你的Ruby或者其他语言做的服务就行了
A
引用 frosh简单的实现就是用类似dnode的远程RPC调用 Ruby给node提供服务 或者Ruby直接提供http服务,通过http通信也可以 无非就是几个服务独立,node不做计算,计算都异步请求你的...
@frosh …被人挖坟了,这个问题已经解决了,不过还是谢谢~
E
你好,我想问一下进程间通过管道传送数据是同步还是异步的啊,我是win10的
C
引用 abbshr@kazaff socket
@abbshr ruby , node通过socket通信?
A
引用 chapgaga@abbshr ruby , node通过socket通信?
@chapgaga 是…
J
第一种肯定不行。load会很高。 后面两种还可行。
C
Socket是很通用的办法吧,实现起来也最简单
参与回复
登录后即可参与回复。登录