Выбор и развертывание комет-сервера - PullRequest
13 голосов
/ 07 марта 2009

Я хочу отправить данные в браузер по HTTP, не убивая мое приложение django / python.

Я решил использовать комет-сервер для прокси-запросов между моим приложением и клиентом (хотя я до сих пор не понял этого должным образом).

Я изучил следующие двигатели: вращался cometd ejabberd Причал

Кто-нибудь имел опыт работы с этими серверами и их развертывания? Любое понимание и ссылки по темам было бы здорово. Спасибо.

Ответы [ 6 ]

5 голосов
/ 08 марта 2009

Я бы порекомендовал изучить Twisted, их сервер twisted.web и кометную работу, проделанную на Divmod. Они могут обрабатывать гораздо больше одновременных подключений, чем традиционные серверы на основе потоков или процессов, и это именно то, что вам нужно для чего-то подобного. И да, я спроектировал системы, использующие Twisted для COMET, в то же время используя другие вещи для более фронтальных веб-приложений, помимо них. Это хорошо работает с каждой частью, делающей то, что делает лучше всего.

2 голосов
/ 30 ноября 2009

Если вы хотите объединить Django с сервером Comet (Orbited), отметьте этот проект, в котором я собираюсь интегрировать Django и Orbited в «чистый» и «реальный мир», как это возможно здесь: http://github.com/clemesha/hotdot

Проект решает проблемы "реального мира", такие как безопасность и ведение журнала / фильтрация / изменение транзитных сообщений Comet и т. Д., Но все еще находится в стадии разработки.

2 голосов
/ 06 ноября 2009

Если вы используете IIS, вы можете проверить WebSync (http://www.frozenmountain.com/websync),, совместимый со стандартами (bayeux), комет-сервер и клиент для .NET / IIS. Если вы не хотите дополнительной загрузки, Версия по требованию - это опция SaaS, которая снимает тяжелую нагрузку.

2 голосов
/ 22 июля 2009

Одним из вариантов является Netty, клиент-серверный фреймворк на основе Java NIO от JBoss. Для сравнения и обсуждения см. Здесь . Сообщается, что он обрабатывает 100000 одновременных открытых соединений на четырехъядерном сервере.

2 голосов
/ 21 июля 2009

Если вы можете запустить Java, я бы порекомендовал StreamHub Comet Server .

Во-первых, в связи с тем, что вам не нужно «убивать» существующее приложение, JavaScript-код имеет очень низкую площадь - менее 10 КБ. Я использую его для загрузки пользовательских обновлений и чата на социальной сети, которую я создаю. Я тестировал 1000+ обращений в день, и на ЦП не было заметного влияния.

Во-вторых, при развертывании я следовал некоторым примерам и работал очень быстро, по сравнению с ударами головой о стену с помощью CometD. Существует хорошее Comet Hello World руководство по началу работы и Google Group , если вы застряли на чем-либо.

2 голосов
/ 07 марта 2009

Мне нужно сделать что-то очень похожее. Я нашел это, но у меня еще не было времени посмотреть на это должным образом:

django_evserver - простой http-сервер для приложений Django. Это основано на библиотека ливент Основное преимущество django_evserver в том, что он обеспечивает методы вытеснения взглядов джанго. Вы можете сделать сайт в нескольких куски, каждый из которых может быть обработан другой взгляд на Джанго.

Используя эту идею, можно использовать django_evserver в качестве кометного сервера для Джанго приложения.

http://code.google.com/p/django-evserver/

...