bit*_*ter 3 distributed load-balancing node.js socket.io
我使用nodejs和socket.io在我的业务应用程序上提供聊天,但我想分发部署,这样我就可以拥有尽可能多的聊天服务器来平衡流量负载。
我尝试了 nginx 的负载平衡方法,但这只是平衡流量,但 socket.io 服务之间的通信并不相同,因此从用户 A 发送到服务器 S1 的一条聊天消息不会传输到服务器 S2 上的用户 B。
有任何工具或方法可以做到这一点。
提前致谢。
=====编辑=====
这是应用程序的架构。
PHP CodeIgniter 上的主应用程序前端可以将其标记为 PHPCI NodeJs 和 SocketIO 上的聊天应用程序后端可以将其标记为 CHAT Redist 上的聊天模型数据可以将其标记为 REDIST
所以我现在拥有的是 PHPCI -> CHAT -> REDIST。那工作得很好。
我需要的是分发应用程序,这样我就可以拥有我想要的尽可能多的 PHPCI 或 CHAT 或 REDIST,例如
PHPCI1 CHAT1
PHPCI2 -> -> REDIST1
PHPCI3 CHAT2
Run Code Online (Sandbox Code Playgroud)
其中数字代表实例而不是不同的应用程序。
因此,连接到 PHPCI1 的用户 A 可以向连接到 PHPCI3 的用户 B 发送消息。
我认为 CHAT 中间的某个队列可以处理这个问题,比如rabbitmq,它只能使用 SocketIO 将消息传递给客户端。
| 归档时间: |
|
| 查看次数: |
1784 次 |
| 最近记录: |