Tuesday, January 08, 2008

Масштабируемость Comet

Мы уже писали про программирование Comet приложений. См., например, здесь. Теперь вот появились интересные цифры по масштабируемости Comet приложений. Релизация Dojo на сервере Jetty обеспечила поддержку 20 000 клиентов на достаточном скромном (то есть доступном) железе. И это, заметим, HTTP - не нужно переходить на флеш, чтобы обеспечить push-функциональность для такого количества клиентов. Jetty (и Comet) использует, например, Zimbra для своей почтовой платформы. Вот их довольно лестные отзывы о реализации Jetty.

А масштабируемость Jetty в Comet приложениях достигается за счет использования модели Continuation. В Comet HTTP все равно остается и push технически означает, что клиент периодически опрашивает сервер о наступлении новых событий. Простая реализация по типу один клиент - один процесс, очевидно, не является масштабируемой. В Jetty процессы, обслуживающие запросы клиентов в интервале между запросами возвращаются в общий пул и, следовательно, могут переиспользоваться другими клиентами.

No comments: