【发布时间】:2018-02-26 00:56:46
【问题描述】:
我将订阅同一服务器的多个 websocket 频道。编写一个管理器来根据 Json 中存在的标签将我收到的各种类型的更新分配给不同的队列是可能的,但是在我的应用程序中创建多个 websocket 客户端对象可以节省编程时间,因此每个 websocket 对象只订阅单个通道。 这是一个明智的想法还是我应该坚持使用单个 websocket 客户端?
【问题讨论】:
标签: websocket
我将订阅同一服务器的多个 websocket 频道。编写一个管理器来根据 Json 中存在的标签将我收到的各种类型的更新分配给不同的队列是可能的,但是在我的应用程序中创建多个 websocket 客户端对象可以节省编程时间,因此每个 websocket 对象只订阅单个通道。 这是一个明智的想法还是我应该坚持使用单个 websocket 客户端?
【问题讨论】:
标签: websocket
正确答案实际上取决于您的架构。但是,作为一般规则:
如果可以,请坚持使用单个 websocket 客户端。
服务器对它们可以处理的连接数有限制,这意味着对于每个新的 Websocket 客户端,您都越来越接近服务器的限制(即使 Websocket 除了保持打开状态之外什么都不做)。
如果每个客户端打开两个 Websocket 连接,服务器可以处理的客户端数量减少一半,每个客户端打开 4 个连接,服务器的容量刚刚下降到 25%。
这直接转化为金钱和成本,因为运行另一台服务器会增加您的开支。此外,当您必须扩展到单个服务器之外时,您会增加后端成本。
【讨论】: