【问题标题】:socketio inter server communication with redis and haproxysocketio 与 redis 和 haproxy 的服务器间通信
【发布时间】:2016-09-07 02:52:30
【问题描述】:

我正在开发一个使用 SocketIO 并且应该是水平可扩展的项目。我正在使用

  • 使用 HAProxy 的负载均衡器
  • 多节点服务器 (2-4)
  • 数据库服务器(Redis 和 MongoDB)

我能够使用循环方法将传入的 Socket 连接重定向到 Node 服务器。套接字连接是稳定的,如果我使用 socket.emit() 我正在接收数据。我还可以发送到连接到同一节点服务器的其他套接字连接。

我在以下情况下遇到问题:

用户 A 连接到节点服务器 1,用户 B 连接到节点服务器 2

我的目的是将Socket数据存储在redis中

如果用户 A 想向用户 B 发送一些数据,我如何告诉节点服务器 2 从节点服务器 1 向用户 B 发送数据

请让我知道如何实现这一点(如果可能,请提供参考)。

提前致谢。

【问题讨论】:

    标签: node.js redis socket.io haproxy


    【解决方案1】:

    此方案与 Redis 的 Pub/Sub 案例匹配。

    如果你还没有,你应该试试Pub/Sub

    【讨论】:

      【解决方案2】:

      看看socket.io Redis adapter。它应该正是您所需要的。

      clients() 方法看起来很有希望。请记住,socket.io 为每个客户端创建了一个独特的房间。

      【讨论】:

        猜你喜欢
        • 2020-08-06
        • 2018-07-29
        • 2018-08-16
        • 1970-01-01
        • 2013-05-08
        • 2017-05-18
        • 1970-01-01
        • 2020-05-13
        • 1970-01-01
        相关资源
        最近更新 更多