Комета на питоне - PullRequest
       61

Комета на питоне

0 голосов
/ 08 июля 2010

Я довольно новичок в веб-программировании на python.

Мне интересно создать чат на браузере.(за прототип).Я хорошо знаю django и в прошлом немного искажал.

Потом я наткнулся на орбиту.Это довольно плохо документировано (я не думаю, что это действительно подходит для документации в любом случае), но эти термины появляются довольно часто:

  1. Orbited
  2. Twisted
  3. MorbidQ, ActiveQ и, в основном, куча технологий MessageQueue

Я сделал несколько примеров на орбитальном веб-сайте, но они как-то не совсем объясняют, как все работает вместе.

Мои вопросы:

  1. Я продолжаю видеть http://:9000 в директиве [listen].Согласно их основному веб-сайту, «в разделе прослушивания описаны интерфейсы и порты, которые Orbited должен использовать для приема подключений к браузеру».AFAIK, стандартный браузер использует порт 80 для связи.И я думаю, что этот порт используется для orbited.js для подключения к серверу для комет?Что произойдет, если 8000 заблокирован?(как за большинством брандмауэров в школах / организациях)

  2. Я продолжаю видеть слово прокси.Я не знаю, как фактический прокси вписывается в эту комбинацию структур

  3. Отношения с витой и орбитальной.Орбитальный построен на вершине витой (если я не ошибаюсь).Тогда почему существует так много примеров, в которых обсуждается использование орбиты НА ВЕРХНЕЙ витой?Зачем мне нужно скручивать в первую очередь?Могу ли я использовать орбиты на nginx?(Опять же, поиск nginx и орбитальных результатов в результатах, в которых есть слово proxy. Как это вообще подходит?)

  4. Относительно http://anirudhsanjeev.org/tutorialhow-to-django-comet-orbited-stomp-morbidq-jsio/, авториспользует сервер xml-rpc.Может кто-то на самом деле объяснить, почему?(ну, он сказал, что «вы не можете запустить систему отправки / получения реактора в своем представлении django», но зачем нам вообще нужно запускать реактор внутри этого? Во-первых, разве орбита не построена поверх витой?поэтому у него есть свой собственный реактор?)

  5. Morbidq описывает себя как «Morbid - это сервер публикации / подписки STOMP, абсолютно не способный к кластеризации. Он поддерживает темы публикации / подписки, иработает как один узел ".Почему нам это надо?Разве Комета не решает что-то подобное?почему я продолжаю смотреть учебники, которые объединяют в себе кучу технологий, которые на первый взгляд похожи, но на самом деле имеют четкое различие?

  6. Все, что я хочу сделать, - это создать простое приложение для веб-чата.Увидев это, я понимаю, что, возможно, использование орбит и витых, а также morbidq, django и т. Д. Может быть слишком хлопотным.(Конечно, я планирую сделать его масштабируемым).

  7. Я смотрел на торнадо, все в порядке, но вроде небольшого имо с точки зрения сообщества.На самом деле это не комета, за исключением того, что она позволяет неблокировать соединения (я узнал об этом на IRC)Мне действительно нужны все специальные кометные техники, или длительный опрос меня удовлетворит?(для простого приложения веб-чата)

  8. Чем пользуются крупные компании?Какую стандартную структуру кометы defacto применяют крупные компании?(например, facebook, gtalk и twitter?) Доступны ли они в python?

Любая помощь по любой вопрос будет оценен.

Ответы [ 2 ]

0 голосов
/ 07 ноября 2012

Ну, я борюсь с тем же, и я думаю, что могу ответить на некоторые вопросы, для дальнейшего использования.

1) если доступ к этому порту заблокирован, ваш веб-сайт не сможет взаимодействовать с Orbited.

2) прокси - это много вещей, думайте о нем как о перенаправлении, nginx работает как прокси.

3) орбитальный построен на витой, но запускает свой собственный витой сервер. когда они связаны с Twisted, они могут говорить о своем собственном приложении, созданном в Twisted вместо Django или других.

4) вы можете избежать RPC и помещать сообщения в очередь прямо из сценария Django через запрос post / get, он может захотеть построить больше ... корпоративных.

5) morbidQ - система очередей. Комета это просто концепция. Каркасы построены для решения определенных проблем, могут быть и другие подобные решения, но не такие полные для данной ситуации. Я лично заменил morbidQ на rabbitMQ.

6) вы правы, масштабируемость зависит больше от вашего кода, чем от выбранной вами технологии.

7) Торнадо великолепен. все, что считается особенным, не имеет полной поддержки браузера, в то время как длинный опрос делает.

8) Они еще не открыли свои кометные решения. Но в этом нет ничего сложного. Я думаю, что рубин более развит в этом вопросе.

надеюсь, это поможет будущим пользователям сети!

0 голосов
/ 08 июля 2010
...