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