CNode

求异构系统通信的解决方案

Aabbshr发布于12 年前最后回复7 年前14 回复7083 浏览0 收藏

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

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

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

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

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

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

查看回复

回复 (14)

M
mq1980#2·12 年前

Apache的 Thrift 是否满足你呢?

A
abbshr#3·12 年前
引用 mq1980Apache的 Thrift 是否满足你呢?

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

A
abbshr#4·12 年前

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

-closed-

Y
yorkie#6·12 年前

需要测试你ipc的吞吐量

A
abbshr#7·12 年前
引用 yorkie需要测试你ipc的吞吐量

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

F
frosh#8·11 年前

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

E
evilArsh#10·7 年前

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

C
chapgaga#11·11 年前
引用 abbshr@kazaff socket

@abbshr ruby , node通过socket通信?

A
abbshr#12·11 年前
J
JacksonTian#13·12 年前

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

C
chemdemo#14·12 年前

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

参与回复
登录后即可参与回复。登录