gpt4 book ai didi

Websocket 和可扩展性

转载 作者:行者123 更新时间:2023-12-02 06:27:48 27 4
gpt4 key购买 nike

我是 websocket 的初学者。我的应用程序需要服务器在发生变化时通知客户端,并计划使用 websockets。

  1. 单个服务器实例和单个客户端 ==> 将创建多少个 Websocket 以及有多少个 Websocket 连接?

  2. 单个服务器实例和 10 个客户端 ==> 将创建多少个 Websocket 以及有多少个 Websocket 连接?

  3. 单个服务器实例和 1000 个客户端 ==> 将创建多少个 Websocket 以及到 Websocket 的连接数?

当您的应用程序拥有数千个用户群时,如何使用 Websocket 进行扩展?

非常感谢您的反馈。

最佳答案

1) Single server instance and single client ==> How many websockets will be created and how many connections to websockets?

如果您的客户端创建一个 webSocket 连接,那么客户端上就会有一个 webSocket 连接,服务器上也会有一个 webSocket 连接。客户端创建与服务器的 webSocket 连接,因此客户端决定有多少个连接。如果它创建 3,那么就会有 3。如果它创建 1,那么就会有 1。通常,客户端只会创建 1。

2) Single server instance and 10 clients ==> How many websockets will be created and how many connections to websockets?

如上所述,这取决于客户端的操作。如果每个客户端创建 1 个 webSocket 连接,并且有 10 个客户端连接到服务器,那么服务器总共会看到 10 个 webSocket 连接。

3) Single server instance and 1000 clients ==> How many websockets will be created and how many connections to websockets?

与第 2 点相同。

How do you scale with webscokets when your application has a 1000’s of user base?

经过适当配置,单个服务器可以同时处理数十万个 WebSocket 连接,这些连接大多处于空闲状态,因为空闲的 WebSocket 几乎不使用服务器 CPU。对于更大规模的部署,可以对服务器进行集群(运行多个服务器进程)并使用粘性负载平衡来分散负载。

如果您正在追求大规模 webSocket 或 socket.io 部署,Google 上还有许多类似的其他文章值得一读:

The Road to 2 Million Websocket Connections in Phoenix

600k concurrent websocket connections on AWS using Node.js

10 million concurrent webSockets

最终,每个正确配置的服务器可实现的规模可能更多地取决于每个连接的事件量以及交付该事件所需的计算量。

关于Websocket 和可扩展性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47268038/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com