我目前正在开发游戏服务器,为了避免从头开始开发服务器,我们使用了tomcat 7.0,以便专注于游戏逻辑。

根据要求,我使用websocket与客户端进行通信,但是当许多客户端已连接到服务器时,无法建立新的连接,我怀疑已建立的连接数是否已达到最大数量。顺便说一下,tomcat使用了APR连接器。

因此,我的问题是:

  • tomcat 7.0支持的事件websocket连接的最大数量是多少。
  • 如何配置。
  • 是否有解决websocket负载平衡的解决方案,因为apache和mod_jk现在不能用于负载平衡。

  • 任何帮助将不胜感激,在此先感谢!

    最佳答案

    为了达到Tomcat中最大的事件websocket连接,需要完成以下配置更改。

  • {CATALINA_HOME}/conf/server.xml
    <Connector connectionTimeout="-1" port="8080"
           protocol="org.apache.coyote.http11.Http11NioProtocol"
           redirectPort="8443" maxConnections="100000" acceptCount="300"/>
    
  • 检查可在部署Tomcat的机器上使用的端口数:
    $ cat /proc/sys/net/ipv4/ip_local_port_range
    

    将此值从50更改为65535。
    $ sysctl -w net.ipv4.ip_local_port_range="500   65535"
    

  • 如果服务器和客户端在不同的计算机上运行,​​则上述配置更改允许在2GB的Intel Core i5计算机中约有5万条实时连接。

    关于tomcat - Tomcat 7.0支持的事件Websocket连接的最大数量是多少,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/23737176/

    10-16 17:03