Mic*_*key 7 linux ubuntu tomcat high-availability load-balancing
我计划添加更多 Web 应用程序服务器以支持不断增加的客户端,部署 HAproxy 和 Keepalived 以实现负载平衡和高可用性。
我的服务器使用具有以下特点:
为此原因,
题
如果有超过 60,000 个客户端设备 X 连接到服务器,我的负载平衡器或路由器将耗尽 TCP 端口。例如,扩展 20,000 个用户的最佳方法是什么?
我的服务器在 Ubuntu 服务器上运行,使用 tomcat 和 Java Servlet。
小智 6
我不认为你的 60k 客户是真正的问题。您更有可能遇到文件描述符不足的问题,但作为操作系统配置的一部分,这应该很容易解决。
这就是为什么连接不会成为您的问题的原因。每个连接的特征在于它的源ip地址、源端口、目的ip地址和目的端口。在网络堆栈内部,这个四元组用于将数据包与文件描述符进行匹配(每个文件描述符代表一个连接)。您的服务器具有固定的目标 ip 地址和目标端口(您的服务器是其客户端的目标),但源 ip 地址和源端口是可变的。端口是一个 16 位数字,因此来自一个客户端的最大连接数为 64K。IPv4 地址是一个 32 位数字,可为您提供 4,294,967,296 个可能的源地址。做一些基本的数学计算,您的服务器可能有 64K * 4,294,967,296 个连接映射到单个源 ip 和端口。
这就是为什么您更可能会遇到最大打开文件描述符数而不是客户端数的问题。
归档时间: |
|
查看次数: |
3559 次 |
最近记录: |