Для моего командного проекта мне нужно предложить, какой из них мы должны использовать PubNub или Amazon Simple Notification Service (SNS). Я нахожу PubNub очень простым в реализации и использовании, но я не смог найти в Интернете ничего конкретного, что говорило бы о его преимуществах и недостатках по сравнению с Amazon SNS.
Каковы преимущества и недостатки использования pubnub по сравнению с Amazon Simple Notification Service (sns)?
Ответы (1)
Сеть реального времени PubNub и Amazon SNS
Исходный ответ получен из Quora: Каковы преимущества и недостатки использования PubNub по сравнению с Amazon SNS?
И сеть реального времени PubNub, и Amazon SNS используют метафору публикации/подписки для отправки и маршрутизации данных. Однако на этом сравнение заканчивается. Эти два сервиса предоставляют разные функции и решают разные бизнес-задачи; и одно не может заменить другое.
Публикация на устройствах конечных пользователей PubNub против SNS
PubNub специально разработан для доставки данных с низкой задержкой (менее 0,25 секунды SLA) на устройства конечных пользователей, включая смартфоны, планшеты, браузеры и ноутбуки. Эти устройства могут находиться за брандмауэрами, средами NAT, центрами вышек сотовой связи и другими труднодоступными сетевыми средами. PubNub достигает этого, поддерживая всегда открытое соединение сокета для каждого устройства и используя это соединение с открытым сокетом для «проталкивания» данных с низкой задержкой. PubNub предоставляет более 50 клиентских библиотек SDK, упрощающих «подключение» к сети реального времени PubNub с помощью простого вызова API подписки PubNub.
И наоборот, у Amazon SNS нет другого способа получить доступ к клиентским устройствам, кроме как через электронную почту или SMS-уведомления. Таким образом, для приложений, использующих данные с малой задержкой (таких как многопользовательские игры, чат-приложения, приложения для совместной работы и т. д.), Amazon SNS не является подходящим решением для этой среды. Основной способ, которым Amazon SNS отправляет данные подписчикам, — это обратные вызовы электронной почты или HTTP. Запуск HTTP-сервера на мобильных, браузерных и настольных устройствах для получения этих уведомлений нецелесообразен как из-за сетевых брандмауэров, так и из соображений безопасности устройства. Amazon SNS в основном используется для межсерверных публикаций/подписок, а также для уведомлений конечных пользователей по электронной почте и в виде текстовых сообщений. Хорошее объяснение распространенных вариантов использования Amazon SNS приведено здесь: Как можно использовать простую службу уведомлений Amazon?. Amazon SNS — неподходящий инструмент для уведомлений в приложении в режиме реального времени. Amazon SNS больше похож на Tibco или Tuxedo, которые представляют собой системы публикации и подписки между серверами.
Особенности Сеть реального времени PubNub против SNS
Помимо простой публикации/подписки, сеть реального времени PubNub предлагает набор сервисов «строительных блоков» для любых приложений реального времени. Эти услуги не предлагаются Amazon SNS или другими сервисами Amazon:
- PubNub Presence – предоставляет в режиме реального времени обновления для тех пользователей, которые находятся в сети, и оповещения, когда они выходят из сети. Эти обновления предоставляются через мультиплексный «сестринский канал» PubNub, который передает обновления присутствия всякий раз, когда изменяется количество пользователей в приложении. Дополнительный API под названием «Here_Now()» также обеспечивает подсчет пользователей в приложении с точностью до секунды.
- Хранение/воспроизведение PubNub. PubNub автоматически сохраняет все данные, опубликованные на каждом канале, и предоставляет два механизма для извлечения этих данных: (а) простой запрос REST для получения всех данных сразу и (б ) механизм воспроизведения для «воспроизведения» этих данных, аналогичный цифровому видеорегистратору для телезаписей.
PubNub Аналитика в реальном времени — PubNub предоставляет различные визуализации и статистику использования для отображения действий пользователей, географии и использования. Пример скриншота ниже:
- PubNub Offline Mobile Push. PubNub также предоставляет резервный механизм для сообщений на мобильные устройства, когда мобильное приложение не работает (или находится в фоновом режиме). PubNub может вернуться к мобильному «push-уведомлению», гарантируя, что мобильный конечный пользователь будет уведомлен, даже когда телефон находится в его кармане. Как только приложение будет запущено, оно снова начнет использовать сеть реального времени PubNub.
- Шифрование AES — PubNub предлагает встроенную поддержку шифрования AES 256, гарантируя, что данные останутся зашифрованными при маршрутизации через сеть PubNub. Хотя Amazon SNS обеспечивает HTTPS, это означает, что данные не шифруются при маршрутизации через сеть Amazon. Это немедленно делает недействительным использование Amazon SNS для HIIPA, SAS70 и других приложений, ориентированных на безопасность.
- Мультиплексирование. PubNub улучшает многоканальную связь с помощью механизма, который позволяет передавать все темы данных через одно TCP-сокетное соединение. Благодаря мультиплексированию PubNub экономия наиболее очевидна при использовании ресурсов мобильных устройств, таких как телефоны, работающие от батареи, и более медленное подключение к сети. Данные сжимаются и объединяются с помощью настраиваемого режима работы с окнами, что обеспечивает более длительный срок службы батареи и улучшенное взаимодействие с конечным пользователем в постоянно меняющихся сетевых условиях.
Задержка (т.е. «в реальном времени») PubNub против 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 миллиона каналов каждый месяц. Это позволяет каждому устройству конечного пользователя иметь собственный канал для прямого подключения.
Кроме того, поддержка PubNub для мультиплексирования позволяет клиентскому устройству одновременно подключаться к нескольким каналам PubNub, продолжая использовать один сетевой сокет. Это позволяет клиенту одновременно подписываться, например, на «частный» канал, специально связанный с одним устройством или набором устройств, принадлежащих одному и тому же лицу, и на «общедоступный» канал, на который также может подписаться группа или все население. .
Другим вариантом использования мультиплексирования может быть приложение для потоковой передачи цен на акции: предположим, вы хотите передавать изменения цен на акции для 1000 различных акций. У каждой акции будет свой собственный канал PubNub. Устройство конечного пользователя будет использовать мультиплексирование PubNub для подписки только на каналы PubNub, связанные с акциями, которые они хотят отслеживать.
Поскольку Amazon SNS не поддерживает мультиплексирование, такой вариант использования невозможен.
Надежность и избыточность Сеть реального времени PubNub против SNS
Сеть реального времени PubNub распределена по всему миру в 12 центрах обработки данных и продолжает расти. Все данные, публикуемые в глобальном облаке PubNub, автоматически реплицируются по всему миру, обеспечивая как низкую задержку по всему миру, так и непревзойденную надежность даже в случае отказа всего центра обработки данных. PubNub предлагает SLA до 99,999% времени безотказной работы для своей сети реального времени. Amazon SNS находится в стадии бета-тестирования и поэтому не имеет соглашения об уровне обслуживания.
Резюме сети реального времени PubNub и SNS
Amazon SNS имеет множество интересных применений, в основном связанных с межсерверными уведомлениями и оповещениями конечных пользователей по электронной почте/SMS. Первоначально он был разработан как способ организации данных между различными другими облачными сервисами Amazon AWS, и поэтому в основном используется для внутренних операций сервера и перемещения данных.
Сеть реального времени PubNub упрощает создание приложений реального времени для мобильных устройств, браузеров и рабочий стол, масштабируемый по всему миру до миллионов одновременных пользователей. Сегодня PubNub уже используется в более чем 2000 приложений по всему миру, охватывающих социальные сети, рекламу, игры, телекоммуникации и множество других рынков.