Что является преимуществом и недостатком использования pubnub над Amazon Simple Notification Service (sns)?

Для моего командного проекта мне нужно предложить, какой из них мы должны использовать PubNub или Amazon Simple Notification Service (SNS). Я считаю, что PubNub очень прост в применении и использовании, но я не мог найти ничего конкретного в Интернете, где говорится о преимуществах и недостатках в Amazon SNS.

Ответ 1

Сеть PubNub в режиме реального времени и SNA сети Amazon

Оригинальный ответ Источник из Quora: В чем преимущества и недостатки использования PubNub по сравнению с Amazon SNS?

What are the advantages and disadvantages of using PubNub over Amazon SNS?

Оба PubNub Real-Time Network и Amazon SNS используют метафору Publish/Subscribe для отправки и маршрутизации данных. Однако здесь заканчивается сравнение. Эти две службы предоставляют различные функции и решают разные бизнес-задачи; и нельзя заменить другого.

Публикация на устройства конечных пользователей PubNub vs SNS

PubNub явно предназначен для доставки данных с низкими задержками (до SLA на 0,25 секунды) на устройства конечного пользователя, включая смартфоны, планшеты, браузеры и ноутбуки. Эти устройства могут находиться за брандмауэрами, средами NAT, полномочиями сотовых вышек и другими труднодоступными сетевыми средами. PubNub выполняет это, поддерживая всегда открытое сокетное соединение для каждого устройства и используя это открытое сокетное соединение для "push" данных при низких задержках. PubNub предоставляет более 50 клиентских SDK-библиотек, чтобы упростить "подключаться" к сети PubNub в режиме реального времени с помощью простого вызова API подписки PubNub.

И наоборот, Amazon SNS не имеет доступа к клиентским устройствам, кроме как через уведомления по электронной почте или SMS. Таким образом, для приложений, которые полагаются на данные с низкой задержкой (например, многопользовательские игры, чат-приложения, совлокальные приложения и т.д.), Amazon SNS не подходит для этой среды. Основной способ, с помощью которого Amazon SNS отправлять данные подписчикам, - это обратные вызовы электронной почты или HTTP. Запуск HTTP-сервера на мобильных устройствах, браузерах и настольных устройствах для получения этих уведомлений нецелесообразно, как из-за сетевых брандмауэров, так и из соображений безопасности устройства. Основное использование для Amazon SNS - это использование сценариев публикации/подписки на сервер-сервер, а также уведомления конечных пользователей электронной почты и текстовых сообщений. Хорошее объяснение распространенных случаев использования Amazon SNS приведено здесь: Каковы хорошие возможности использования Amazon Simple Notification Service?. Amazon SNS не является правильным инструментом для уведомлений в режиме реального времени в приложении. Amazon SNS более похож на Tibco или Tuxedo, которые являются системами публикации/подписки от сервера к серверу.

Возможности PubNub Сеть реального времени против SNS

Помимо простой публикации/подписки, PubNub Real-Time Network предлагает набор сервисов "строительный блок" для любого приложения реального времени. Эти услуги не предлагаются Amazon SNS или другими услугами Amazon:

  • PubNub Presence. Предоставляет обновления в режиме реального времени, для которых пользователи подключены к сети, и предупреждения, когда они выходят из строя. Эти обновления предоставляются через мультиплексный PubNub "сестра-канал", который передает обновления присутствия всякий раз, когда пользователь подсчитывает в приложении изменения. Дополнительный API под названием "Here_Now()" также предоставляет счетчик для всех пользователей в приложении.
  • PubNub Storage/Playback - PubNub автоматически сохраняет все данные, опубликованные на каждом канале, и предоставляет два механизма для извлечения этих данных: (a) простой запрос REST для извлечения данных одновременно, и (б) механизм воспроизведения для "воспроизведения" этих данных, аналогичных DVR для телевизионных записей.
    PubNub Real-Time analytics - PubNub предоставляет различные виды визуализации и статистику использования для отображения активности пользователя, географии и использования. Ниже приведен пример скриншота:

PubNub Real-Time Network (RTN) Global Map Visual Data

  • PubNub Offline Mobile Push - PubNub также обеспечивает резервный механизм сообщений для мобильных устройств, когда мобильное приложение не работает (или в фоновом режиме). PubNub может вернуться к мобильному "push-уведомлению", гарантируя, что мобильный конечный пользователь уведомляется, даже когда телефон находится в кармане. Как только приложение будет запущено, приложение снова начнет использовать сеть PubNubs Real-Time.
  • Шифрование AES. PubNub предоставляет встроенную поддержку шифрования AES 256, гарантируя, что данные остаются зашифрованными при маршрутизации через сеть PubNub. Хотя Amazon SNS предоставляет HTTPS, это означает, что данные не шифруются при маршрутизации через сеть Amazon. Это немедленно аннулирует использование SNS Amazon для HIIPA, SAS70 и других приложений, ориентированных на безопасность.
  • Мультиплексирование- PubNub улучшает многоканальную связь с механизмом, который позволяет передавать потоки данных по одному соединению TCP Socket. С мультиплексированием PubNub экономия наиболее очевидна благодаря ресурсам мобильных устройств, таких как телефоны с батареей и более медленное сетевое подключение. Данные сжимаются и поставляются с помощью настраиваемого окна, чтобы обеспечить более длительный срок службы батареи и улучшить работу конечного пользователя при постоянно меняющихся условиях сети.

Задержка (т.е. "в реальном времени" ) PubNub vs SNS

Поскольку PubNub предоставляет данные через существующий установленный открытый сетевой сокет, задержки находятся в пределах 0,25 секунды от публикации для подписки в 95% процентиле подписных устройств. Большинство людей воспринимают что-то как "в реальном времени", если событие воспринимается в течение 0,6 - 0,7 секунды. Amazon SNS не обеспечивает никаких латентных гарантий, и подавляющее большинство задержек измеряется в течение 1 секунды, а часто на несколько секунд медленнее. Опять же, это несколько не имеет значения; Amazon SNS предназначена для уведомлений от сервера к серверу (или электронной почты /SMS ), где часто бывает приемлемой и ожидаемой латентность многих секунд.

Каналы/Темы и мультиплексирование PubNub и SNS

Amazon SNS позволяет создавать до 100 "тем", которые будут созданы в учетной записи (см. Amazon Simple Notification Service (SNS)). "Тема" эквивалентна каналу PubNub. И наоборот, PubNub поддерживает неограниченное количество каналов PubNub. Некоторые клиенты сегодня ежедневно используют более 1 миллиона каналов каждый месяц. Это позволяет каждому устройству конечного пользователя иметь собственный канал для связи один к одному.

Кроме того, поддержка PubNubs для Мультиплексирования позволяет клиентскому устройству одновременно подключаться к нескольким каналам PubNub, продолжая использовать один сетевой сокет. Это позволяет клиенту одновременно подписываться на, например, канал "private", специально связанный с одним устройством или набором устройств, принадлежащих одному и тому же лицу, и "общедоступный" канал, который группа или целая группа населения также может подписаться на.

Другим вариантом использования мультиплексирования будет приложение с потоковой ценой на акции: предположим, что вы хотите потопить изменения цены акций на 1000 различных акций. Каждый запас будет иметь собственный канал PubNub. Устройство конечного пользователя будет использовать PubNub Multiplexing для подписки только на каналы PubNub, связанные с акциями, которые они хотят отслеживать.

Поскольку Amazon SNS не поддерживает мультиплексирование, этот тип использования невозможен.

Надежность и избыточность PubNub Сеть реального времени против SNS

Сеть PubNub Real-Time Network распределена по всему миру в 12 центрах обработки данных и растет. Все данные, опубликованные в PubNub Global Cloud, автоматически реплицируются глобально, обеспечивают как низкую задержку во всем мире, так и непревзойденную надежность даже в случае сбоев целых центров обработки данных. PubNub обеспечивает бесперебойную работу SLA до 99,999% для своей сети реального времени. Amazon SNS - это бета-предложение, и поэтому не имеет соглашения об уровне обслуживания.

Резюме сети и SNS сети реального времени PubNub

Amazon SNS имеет множество интересных применений, в основном связанных с уведомлениями от сервера к серверу и предупреждениями по электронной почте /SMS для конечных пользователей. Первоначально он был разработан как способ организации данных между различными облачными службами Amazon AWS и, таким образом, в основном используется для серверных операционных операций и перемещения данных.

PubNub Real-Time Network предназначена для упрощения создания приложений реального времени на мобильных устройствах, в браузере и на рабочем столе, которые масштабируются по всему миру для миллионов одновременных пользователей. Сегодня PubNub уже используется более чем в 2000 приложениях, охватывающих социальные, рекламные, игровые, телекоммуникационные и другие рынки.