如何基于WebSocket和MongoDB技术实现NodeJS的推送服务器集群

如何基于WebSocket和MongoDB技术实现NodeJS的推送服务器集群,第1张

推送当然要用mqtt或者xmpp 呀。推荐Mosca by mcollina 基于nodejs 的mqtt 服务器broker。前端用mqtt.js。无缝支持websocket和MongoDB。我撸了一个项目,服务器核心代码不过200行

无论是采用TCP协议还是UDP协议

1)仔细分析瞬时的链接数:是在1秒之内有10万个并发连接,还是在1小时内有10万个,或者是在1天内有10万个。这个很重要。

2)测试一个连接从连接建立-->发送接收处理-->关闭连接所需要的运行时间

3)采用异步处理。Socket异步处理是出来大并发连接数量的不二选择。异步处理本质上是多线程的,而且使用线程池。借助线程池能够提供线程处理性能。根据1)和2)分析的结果有可能需要调整线程池默认线程数量。

4)如果采用TCP协议,完成处理后,一定要关闭Accept建立的客户端连接;否则,会过度消耗系统资源,导致你的程序处理能力下降甚至崩溃。

5)如果采用UDP协议,不需要关闭服务端SOCKET

6)一个SOCKET理论上最大能处理65535个连接。也许你需要建立多个SOCKET才能满足这么高的并发连接数量。究竟需要建立多少个SOCKET,还是由1)和2)的结果决定。

============

既然数量量小,就没有长连接的必要!

长时间连接而不传数据,这样的很浪费服务器资源


欢迎分享,转载请注明来源:夏雨云

原文地址:https://www.xiayuyun.com/zonghe/364435.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-11
下一篇2023-05-11

发表评论

登录后才能评论

评论列表(0条)

    保存