Преимущества программного обеспечения Comet по сравнению со стандартным длинным опросом - PullRequest
3 голосов
/ 27 апреля 2011

Я не могу на всю жизнь понять цель такого приложения, как Cometd или simple-comet, над чем-то вроде простого запроса с длинным опросом с php и бесконечного цикла с кодом, подобным этому

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

работает на веб-сервере, который предназначен для нескольких запросов, таких как lighttpd или NGIX.

возможно я просто скучаю по пониманию документации кометных сервисов. Я знаю, что выше это запрос "Comet", но почему существуют такие вещи, как cometd, что они делают лучше.

1 Ответ

1 голос
/ 02 мая 2011

Cometd и подобное программное обеспечение, такое как orbitd, отлично подходят для разделения сферы ответственности.Мои службы Python с поддержкой lighttpd могут сосредоточиться на выполнении более сложной работы, в то время как служба комет привязана к очереди сообщений для обработки уведомлений о легких сообщениях (предварительный запрос пакета завершен, у вас есть новое сообщение и т. Д.), В то время как серверы lighttpdобрабатывать запросы к БД или обрабатывать запросы POST / PUT / DELETE.

Последнее замечание: Apache по-прежнему является очень популярным веб-сервером, но он умрет во славе, если попытается удержать открытыми тысячу или более соединений.Для платформы с массивом серверов Apache, которая хочет добавить поддержку комет, было бы целесообразно использовать готовое решение вместо использования решения с lighttpd или nginx.

...