我计划增加更多的web应用服务器,以支持增加客户端,部署HAproxy和Keepalived以实现负载平衡和高可用性。
我的服务器使用有以下特点:
出于这个原因,
如果有60,000多个客户端设备X连接到服务器,我的负载均衡器或路由器将耗尽TCP端口。对20,000名用户来说,扩大规模的最佳方式是什么?
我的服务器运行在Ubuntu服务器上,使用tomcat和。
发布于 2013-12-29 05:53:27
我不认为你的60000客户才是真正的问题。如果没有足够的文件描述符,您可能会遇到问题,但作为OS配置的一部分,这应该很容易修复。
这就是为什么连接不会成为你的问题。每个连接都由其源ip地址、源端口、目标ip地址和目的端口来描述。在网络堆栈中,这个四倍用于将数据包与文件描述符相匹配(每个文件描述符代表一个连接)。您的服务器有固定的目标ip地址和目标端口(您的服务器是其客户端的目的地),但是源ip地址和源端口是可变的。端口是一个16位数,因此来自一个客户端的最大连接数是64K。IPv4地址是一个32位数,它为您提供了4,294,967,296个可能的源地址。做一些基本的计算,您的服务器可能有64K * 4,294,967,296个连接映射到单个源ip和端口。
这就是为什么您在打开文件描述符的最大数量上可能会遇到问题,而不是客户端的数量。
发布于 2013-12-23 13:10:03
最简单的方法可能是在DNS级别实现负载平衡。
意思:有一个循环DNS条目,平衡到2,3,或更多的物理负载平衡器。
https://serverfault.com/questions/562701
复制相似问题