【问题标题】:Sharing SockJS connection共享 SockJS 连接
【发布时间】:2014-05-19 19:23:06
【问题描述】:

我正在开发一个 Node.js 后端,它通过 websockets 与一些桌面客户端通信,并且来自服务器端的通信是从 web 前端启动的。一切正常,因为我将 SockJS Connection 实例存储在数组中。但是如果我想扩展服务,我想这样的事情不会起作用,我需要共享连接或类似的东西。

有没有办法做到这一点,或者以任何方式改变我的架构以支持有一天的扩展?

【问题讨论】:

    标签: javascript node.js websocket sockjs


    【解决方案1】:

    您可以通过在多个 SockJS 服务器前使用负载平衡器进行水平扩展。如果您需要在多个 SockJS 服务器之间共享数据,您可以使用一个或多个 Redis 实例(这就是 socket-redis 模块所做的)。

    【讨论】:

    • 所以,如果我理解正确的话,对于 socker-redis,websocket 连接到哪个服务器并不重要?通过redis接口“委托”通信?我使用桌面客户​​端而不是 Web 界面进行通信是否重要?
    • 您对 socket-redis 的看法是正确的。我对 SockJS 不太熟悉,但假设它没有像 Socket.IO/Engine.IO 这样的自定义协议,那么任何正常的 websocket 连接都应该可以工作。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-11-13
    • 1970-01-01
    • 2021-12-16
    • 2013-08-16
    • 2010-10-14
    • 2010-11-18
    • 2012-10-02
    相关资源
    最近更新 更多