服务器和客户端之间的实时通信

时间:2014-06-14 02:30:20

标签: multithreading node.js architecture

我有一个套接字游戏服务器,可以在一个进程上运行所有内容;问题是我想扩展我的应用程序。 由于它是纸牌游戏,当桌面上有活动时,我可以轻松到达同一房间内的所有玩家,因为我可以直接访问他们的套接字连接。

如果我想要另一台服务器(或许多服务器,取决于负载),这是另一个完全不同的过程,我需要能够拥有例如1个房间,其中来自服务器1的玩家可以与来自服务器2的玩家对战,并且案例服务器1失败,可以从服务器2获取连接并使它们保持播放而不会中断。

这个架构会是什么?

1 个答案:

答案 0 :(得分:0)

某些托管服务提供商支持websockets和水平扩展。这将允许您的用户与节点建立websocket连接。但是,您可能需要该用户发送的事件才能广播给与其他笔记相关的其他用户。

您可能需要考虑RabbitMQ之类的内容。通过使用fanouttopic exchange,您可以将事件广播到一组侦听器。侦听器将是群集中维护websocket连接的各个节点。