求异构系统通信的解决方案
发布于 10 年前 作者 abbshr 5947 次浏览 最后一次编辑是 8 年前

是这样的:我想用Node做Web Server处理高并发http请求,然后将前端获取的一些数据传递给本地的Ruby进程做计算分析,最后Ruby将处理结果返回给Node并响应给浏览器。

可问题是以前没做过异构系统之间的通讯,不清楚有什么好一点的解决方案。

目前我有这几种想法,不知哪种方案可行(或者以下是否有可行的…):

  • 通过Node的child_process模块跑Ruby脚本,每请求一次执行一次。
  • 同时开启Node进程和Ruby进程,双方直接通过Socket通信
  • 使用Redis做共享空间

不想使用现成的库,因为毕竟之前对这方面不了解,也想借此机会学习学习。

麻烦各位,提供个具体思路,谢谢。

14 回复

got it! 已经折腾出可行方案了~ 尽管没人回答,还是谢谢各位看官~

-closed-

怎么个可行方案呢?

Apache的 Thrift 是否满足你呢?

这个貌似不错,不过不想借助framework,已经用原生代码解决了~仍然感谢

需要测试你ipc的吞吐量

IPC吞吐量,你指的是一次进程通信中交换的数据量吧?这个不算大

第一种肯定不行。load会很高。 后面两种还可行。

Socket是很通用的办法吧,实现起来也最简单

@abbshr ruby , node通过socket通信?

简单的实现就是用类似dnode的远程RPC调用 Ruby给node提供服务 或者Ruby直接提供http服务,通过http通信也可以 无非就是几个服务独立,node不做计算,计算都异步请求你的Ruby或者其他语言做的服务就行了

@frosh …被人挖坟了,这个问题已经解决了,不过还是谢谢~

你好,我想问一下进程间通过管道传送数据是同步还是异步的啊,我是win10的

回到顶部