Популярность всем привычного протокола RSS, похоже, достигла своего апогея, но жизнь не стоит на месте, и по мере развития концепций Web 2.0, ограниченность и примитивность протоколов RSS разных версий начинает все больше тормозить возможности оперативной подписки и агрегирования новостей в современном динамическом интернете. К счастью, уже разработаны и успешно завоевывают свое место под солнцем протоколы по подписке новостей и уведомлений нового поколения, среди которых два главных лидера-конкурента, это PubSubHubbub и rssCloud.
Итак, сегодня у нас битва между двумя наиболее вероятными наследниками RSS, дабы выделить их преймущества, главные отличия и особенности.
Протокол PubSubHubBub (часто сокращенно пишут PuSH) определяется в Википедии “как открытый коммуникационный протокол для распределенных публикаций и подписок в интернете. Протокол расширяет уже известные протоколы Atom и RSS”. У rssCloud практически в точности аналогичное определение.
Главная цель всех усовершенствований в обоих протоколах, - это создание механизма практически мгновенного уведомления обо всех изменениях на обслуживающем сервисом. Реализуются подобные уведомления, как правило, на базе т.н. “жирного пинга” (“fat ping”), т.е. уведомления содержащего в себе дополнительную информацию о деталях самого обновления.
Оба протокола, PuSH и rssCloud, пытаются устранить главные сегодняшние проблемы RSS: чтобы узнать появилось ли обновление, в RSS необходим постоянный поллинг (опрос) целевого ресурса. Когда число таких подписчиков исчисляется десятками тысяч - мы имеем фактически настоящую DDoS-атаку ресурса. Кроме ненужной нагрузки, эта техника просто избыточна сама по себе.
Говоря на простом примере, RSS напоминает собой докучливого ребенка, который постоянно теребит свою маму: “Скоро ты мне расскажешь сказку?”, “Уже совсем скоро?”, “Ты уже готова?” и т.д. с частотой автоматной очереди. Подход обоих новых протоколов, PuSH и rssCloud, заключается в том, чтобы ответить единожды: “Помолчи немного, я сама тебе скажу, когда я буду готова”.
Если учесть попутно решаемые проблемы по мгновенной доставке уведомлений, а также созданию заведомо масштабируемых, говоря по-современному - облачных решений, - то в сумме мы получаем чрезвычайно востребованные и перспективные технологии уведомления, которые отныне позволяют вам быть в курсе всех новостей в режиме реального времени с куда меньшими усилиями.
Несмотря на то, что упомянутые новые протоколы созданы для одной и той же цели, их конечная реализация несколько отличается. Для начала нашего предметного их рассмотрения, давайте сравним и выделим те общие черты, которые абсолютно аналогичны для обоих протоколов:
В самом деле, эти оба протоколы настолько похожи, то когда речь заходит о выборе, очень часто задается справедливый ключевой вопрос: а чем же объективно они отличаются друг от друга? Попробуем выделить главное в их немногочисленных отличиях:
Тем, кто интересуется технической стороной различий более глубоко, рекомендуем начать с этого обзора. Также рекомендуем сравнение возможностей основ этих систем - жирного пинга (fat pinging), на котором основаны PubSubHubbub и XMPP pubsub, а также легковесного пинга (light pinging), на котором базируются альтернативные системы уведомлений: rssCloud, XML-RPC pings, changes.xml, SUP, SLAP.
PubSubHubbub – разработка компании Google, который она затачивала в первую очередь для своего Google Reader, но кроме этого сервиса новый протокол подхватили также: Feedburner, Blogger, Google Latitude, YouTube, PicasaWeb, FriendFeed, LiveJournal, Superfeedr, Google Alerts и многие другие.
Среди крупных игроков в мире rssCloud можно назвать разве что только нативную поддержку в WordPress, что автоматически породило целую армию блогеров-источников новостей в этом формате (кстати говоря, для поддержки в WordPress альтернативного PubSubHubbub также написан плагин). Другая острая проблема, свойственная для rssCloud – ограниченное количество rss-клиентов, способных понимать этот протокол и использовать его в полной мере, на данный момент это лишь River2 и LazyFeed.
Сегодня потребность в протоколах уведомлений реального времени велика как никогда. Некоторые крупные порталы не дождавшись подобных решений, пошли своим путем, например, NetVibes, который разработал свой собственный закрытый протокол уведомлений в режиме реального времени. В наши же дни, рекомендуется параллельно транслировать новости (новостные фиды) сразу в оба открытых протокола, чтобы покрыть максимально широкое количество разнородных клиентов.
При необходимости жесткого выбора, более предпочтительным выглядит PubSubHubbub, тем более, что этот протокол стремительно развивается. Так, например, здесь уже полностью реализован шлюз в протокол XMMP (XMPP pubsub) для автоматической трансляции новостей из этого протокола в Jabber или GTalk.