Comet软件优于标准长轮询的优势

时间:2011-04-27 18:17:03

标签: php long-polling

我无法理解像我这样的应用程序的目的,如Cometd或简单的彗星,像一个简单的longpolling请求与PHP和无限循环代码,如此

$time = time();
while(time() - $time < 30) {
    if ($query) {
        $shapes = ...;
        echo json_encode($shapes);
        break;
    }
    usleep(25000);
}

在专为多个请求设计的网络服务器上运行,例如lighttpd或NGIX。

也许我只是想念彗星服务的文档。我知道以上是一个“彗星”请求,但为什么像cometd这样的东西存在,它们做得更好。

1 个答案:

答案 0 :(得分:1)

像Comebit这样的Cometd和类似的软件非常适合破坏区域的责任。我可以让我的lighttpd支持的python服务专注于做更多涉及的工作,而彗星服务绑定到消息队列来处理轻消息通知(前批处理请求已完成,你有新消息等)而lighttpd服务器处理数据库请求或处理POST / PUT / DELETE请求。

最后一点,Apache仍然是一个非常受欢迎的Web服务器,但如果它试图保持一千个或更多的连接打开,它将会熠熠生辉。对于具有一系列希望添加彗星支持的apache服务器的平台,使用开箱即用的解决方案与使用lighttpd或nginx滚动解决方案是有意义的。