комета против пабсаб ..? - PullRequest
       29

комета против пабсаб ..?

7 голосов
/ 01 сентября 2009

Могу ли я знать, в чем разница между этими двумя подходами? можно объяснить мирянами?

Ответы [ 2 ]

6 голосов
/ 02 сентября 2009

Comet - это технология для передачи данных в реальном времени в веб-браузер, поэтому страница может постоянно обновляться. Для более подробной информации смотрите эту страницу о комете .

Pub / Sub (или Publish / Subscribe) не отличается от Comet, это способ сообщить серверу Comet, какие данные вы хотите получить (подписаться) и отправить данные другим подписчикам (Опубликовать). Многие серверы Comet реализуют модель pub / sub.

Примеры из реальной жизни в StreamHub Comet Server :

Подписаться: Я хочу получать новости о Google:

hub.subscribe("/news/google", function(sTopic, oData) { alert("Received news article about Google: " + oData.Article});

Опубликовать. Я хочу поделиться некоторыми новостями о Google:

hub.publish("/news/google", "{'Title':'Google Expanding Access To Wave Soon, First Impressions','Article':'According to Google, included in this group of early testers will be some of the businesses using Google Apps. In anticipation of this wider release, ...'}");

Каждый, кто подписан на тему "/ news / google", получит статью, которую я опубликовал выше - вот как работает pub / sub.

4 голосов
/ 01 сентября 2009

Публикация-подписка - это средство асинхронного взаимодействия, которое отделяет издателей от подписчиков. Вместо того чтобы адресовать сообщения конкретным подписчикам, издатели публикуют сообщения по теме. Подписчики подписываются на тему. У данной темы может быть много издателей и много подписчиков.

Например, в торговой системе торги акциями Google могут публиковаться на тему «Trade.GOOG». После этого подписчики могут прослушивать сделки с определенными акциями, слушая необходимые темы.

Comet - это веб-методика пересылки на сервер с использованием долгоживущих HTTP-соединений.

Представьте себе покерный сайт. Ваш браузер может установить соединение с сервером, который будет зависать до тех пор, пока не настанет ваша очередь что-то делать (поднять трубку, позвонить и т. Д.), А не нажать кнопку обновления каждые несколько секунд, чтобы узнать, нужно ли вам что-то делать. Опрос является еще одним решением этой проблемы.

Сходство, которое они оба имеют, состоит в том, что они по сути являются средством асинхронного общения, но в остальном они не похожи.

...