请高手鉴定方案可行性
发布于 10 年前 作者 Lishaojun 3912 次浏览 最后一次编辑是 8 年前

N多客户机通过gprs每隔30秒传输一个300到400bytes数据包到服务器,通过nodejs写js代码(主要处理socketio和mysql)。 之后通过thinkphp(php server)+ easyui(webui)供用户访问交互。

nodejs只做负责后台数据处理,监听端口,socket数据收发,读写数据库。因为有成千上万设备往服务器的一个端口发数据,通过nodejs能处理过来吗?

14 回复

nodejs做这样事情会不会吃力不讨好?

假设1W台设备每台设备30秒发一次,估算下1秒并发300多,应该处理的过来。实在不行就多用几个端口接收.

nodejs不是百万级链接的吗?:)

弄个Node集群cluster,多跑几个进程就好了

没问题的,我们游戏单进程下,2000个客户端,每隔5秒发一次消息都能承受,而且你还可以扩展进程来分担压力

@zhs077 尽量用一个端口,因为嵌入式终端一旦出去了,端口不能变化,

@jekywong 之前弄过小数据量的PUSH,现在终端数变多了,要实测才知道,

@hainee 集群cluster这个具体怎么操作,监听多端口吗?

@peiweippww 多谢,应该可以的

@Lishaojun 尽量加上cluster吧 一个进程挂了可以立马起一个 子进程可以共享一个port

如果你的数据包很小,但是频率又非常高,node.js适合,如果你的数据包很大,估计瓶颈会在带宽上

百万台设备发送消息------>nginx----->nodejs 其中nginx两台,nodejs两台,每台nodejs开启8个进程,每台服务器接收的日志数量从刚开始的10G,到昨天为止的32G(一共64G),目前没发现性能瓶颈问题

回到顶部