我有一个要求为高吞吐量的大量客户端(超过500K并发)构建分布式的基于Comet的服务器。我目前正在研究使用Tornado来处理大量长时间轮询请求的高效率的可能性。基于分布式龙卷风的聊天服务器
我担心的是单个Tornado服务器是否可以处理如此大量的长轮询客户端。作为一个实验,我想将Tornado Chat演示(https://github.com/facebook/tornado/tree/master/demos/chat)扩展到分布式环境。即有一堆并行运行的Tornado聊天服务器,每个都负责一组不断变化的客户端。
我希望您对实施这样的方案有任何想法/想法,或对相关资源的任何参考。
谢谢!
伊万,rabbitmq在这种情况下会有用吗? – securecurve
RabbitMQ有助于将消息从一个龙卷风实例chat.services.com:8001服务的客户端传递到另一个由另一个龙卷风实例chat.services.com:8002服务的客户端。主要的挑战是保持每个在线用户(在线状态)的状态:是否在线,离线,闲置。例如,Facebook开发了空闲策略算法:将用户活动确定为空闲1,2,5,8,11秒...等等。它有助于显着降低网络负载并达到良好的吞吐量。 –