小编Mic*_*key的帖子

如何扩展支持长轮询的 Web 服务器

我计划添加更多 Web 应用程序服务器以支持不断增加的客户端,部署 HAproxy 和 Keepalived 以实现负载平衡和高可用性。

我的服务器使用具有以下特点:

  1. 作业不是 CPU 密集型的。消息是少于 100 个字符的 JSON 文本。
  2. 用户将通过客户端设备 Y 向服务器发送消息。通常每天 4-5 条消息
  3. 客户端设备 X 一直在等待来自服务器的消息。如果消息在服务器上可用,客户端设备 X 必须能够在 2 秒内得到它。否则,此消息已过时。

为此原因,

  1. 客户端设备 X 正在使用长轮询 HTTP 连接以进行响应。每个连接将持续 5 秒并重新连接。
  2. 客户端设备 X 和客户端设备 Y 连接到同一服务器,因此 X 和 Y 可以轻松发送消息

如果有超过 60,000 个客户端设备 X 连接到服务器,我的负载平衡器或路由器将耗尽 TCP 端口。例如,扩展 20,000 个用户的最佳方法是什么?

我的服务器在 Ubuntu 服务器上运行,使用 tomcat 和 Java Servlet。

linux ubuntu tomcat high-availability load-balancing

7
推荐指数
1
解决办法
3559
查看次数