HTTP推送超过100,000个连接

时间:2011-03-15 01:58:22

标签: http comet push

我想使用客户端 - 服务器协议将数据推送到始终保持连接的客户端,全天候。

HTTP是一种很好的通用客户端 - 服务器协议。我不认为语义可能会对任何其他协议有很大的不同,并且存在许多好的HTTP服务器。

关键因素是连接数:应用程序将逐渐扩展到非常大量的客户端,比如100,000。它们不能是服务器,因为它们具有动态IP地址,可能位于防火墙之后。因此,必须建立并保留套接字链接,这将引导我们进行HTTP推送。实际上很少将数据推送到给定的客户端,因此我们也希望最小化连接开销。

服务器应该通过接受连接,将远程IP和端口插入表中并使其空闲来处理此问题。我们不希望运行100,000个线程,只需要很多表项和文件描述符。

有没有办法使用现成的HTTP服务器实现这一点,而无需在套接字层写入?

3 个答案:

答案 0 :(得分:2)

LightStreamer(http://www.lightstreamer.com/)是专门为HTTP的PUSH操作而制作的工具。

应该解决这个问题。

答案 1 :(得分:2)

使用推送框架:http://www.pushframework.com。 它旨在实现管理大量长期异步全双工连接的目标。

答案 2 :(得分:1)

您还可以查看Jetty + Continuations