Общее·количество·просмотров·страницы

Java Dev Notes - разработка на Java (а также на JavaScript/Python/Flex и др), факты, события из АйТи

Архив блога

четверг, 29 октября 2009 г.

XMPP - как протокол для клауд-сервисов

Matt Tucker в статье XMPP (a.k.a. Jabber) is the future for cloud services описывает возможное применение XMPP-протокола в качестве протокола для связи между клауд-сервисами.

Для организации двусторонней связи клиент-сервер протокол HTTP подходит плохо, т.к. он спроектирован для случаев, когда инициатива по открытию соединения с севером лежит на клиенте. В случаях, когда инициатива по установке соединения исходит от сервера (примеры: messaging applications, stock qoutes online, онлайновые аукционы и др.), HTTP весьма сложно использовать (в этом случае применяются технологии Comet, Bayeux).

Один из вариантов - отдавать данные от сервера клиенту бесконечно долго ("в час по чайной ложке"), оставляя таким образом соединение открытым. Другой вариант - клиент постоянно опрашивает сервер (так называемый поллинг - polling), запросы происходят с некоторым временным интервалом (5-10 секунд) - если на сервере появляются новые данные, то по AJAX они передаются на клиент. Но при этом на сервер сыпятся сотни тысяч, миллионы запросов, абсолютное большинство из которых абсолютно не нужны (т.е. не несут в себе данных), что является издержкой однонаправленности протокола HTTP.

XMPP же лишен этого недостатка, это двунаправленый протокол, построенный на основе XML, легко расширяемый и доказавший работу при больших нагрузках (сотни тысяч, миллионы пользователей) - например, в GTalk. При его использовании происходит ровно столько запросов, сколько надо для передачи данных.

Комментариев нет:

Отправить комментарий

Постоянные читатели