Какви са предимствата и недостатъците на използването на pubnub пред Amazon Simple Notification Service (sns)?

За моя екипен проект трябва да предложа кой да използваме PubNub или Amazon Simple Notification Service (SNS). Намирам PubNub за много лесен за внедряване и използване, но не можах да намеря нищо конкретно в Интернет, което да казва за предимствата и недостатъците пред Amazon SNS.


person chandra mohan    schedule 30.12.2013    source източник


Отговори (1)


PubNub мрежа в реално време и Amazon SNS

Оригинален отговор, получен от Quora: Какви са предимствата и недостатъците на използването на PubNub пред Amazon SNS?

Какви са предимствата и недостатъците на използването на PubNub пред Amazon SNS?

И PubNub Real-Time Network и Amazon SNS използват метафора за публикуване/абониране за изпращане и маршрутизиране на данни. Тук обаче сравнението свършва. Тези две услуги предоставят различни функционалности и решават различни бизнес проблеми; и едното не може да замени другото.

Публикуване на устройства на крайни потребители PubNub срещу SNS

PubNub е изрично проектиран да доставя данни с ниски закъснения (под 0,25 секунди SLA) до устройства на крайни потребители, включително смартфони, таблети, браузъри и лаптопи. Тези устройства могат да бъдат зад защитни стени, NAT среди, органи на клетъчни кули и други труднодостъпни мрежови среди. PubNub постига това, като поддържа винаги отворена сокет връзка към всяко устройство и използва тази отворена сокет връзка за „избутване“ на данни при ниски закъснения. PubNub предоставя над 50 клиентски SDK библиотеки, за да улесни „включването“ в PubNub мрежата в реално време с просто PubNub Subscribe API извикване.

Обратно, Amazon SNS няма начин да достигне до клиентските устройства, освен чрез имейл или SMS известия. Така че за приложения, които разчитат на данни с ниска латентност (като игри за много играчи, приложения за чат, приложения за сътрудничество и т.н.), Amazon SNS не е правилното решение за тази среда. Основният начин, по който Amazon SNS изпраща данни до абонатите, е чрез имейл или HTTP обратни извиквания. Пускането на HTTP сървър на мобилни, браузърни и настолни устройства за получаване на тези известия е непрактично както поради мрежови защитни стени, така и поради причини за сигурността на устройството. Основната употреба на Amazon SNS е за случаи на използване на публикуване/абонамент от сървър към сървър или за известия на краен потребител чрез имейл и текстово съобщение. Добро обяснение на обичайните случаи на използване на Amazon SNS е тук: Какви са добрите приложения на Amazon's Simple Notification Service?. Amazon SNS не е правилният инструмент за известия в реално време в приложението. Amazon SNS е по-аналогичен на Tibco или Tuxedo, които са системи за публикуване/абонамент от сървър към сървър.

Включва PubNub мрежа в реално време срещу SNS

Освен простото публикуване/абониране, мрежата в реално време на PubNub предлага колекция от услуги „изграждащ блок“ за всякакъв вид приложения в реално време. Тези услуги не се предлагат от Amazon SNS или други услуги на Amazon:

  • Присъствие на PubNub – Осигурява актуализации в реално време за това кои потребители са онлайн и сигнали, когато излязат офлайн. Тези актуализации се предоставят чрез мултиплексиран „сестрински канал“ на PubNub, който предава поточно актуализации за присъствие всеки път, когато броят на потребителите в приложението се промени. Допълнителен API, наречен „Here_Now()“, също осигурява преброяване до секунда за потребителите в приложението.
  • Съхранение/Възпроизвеждане на PubNub – PubNub автоматично съхранява всички данни, публикувани за всеки канал, и предоставя два механизма за извличане на тези данни: (a) проста REST заявка за извличане на данните наведнъж и (b ) механизъм за възпроизвеждане за „възпроизвеждане“ на тези данни, подобно на DVR за телевизионни записи.
    PubNub Анализи в реално време -- PubNub предоставя различни визуализации и статистически данни за използване за показване на потребителска активност, география и използване. Примерна екранна снимка е по-долу:

Визуални данни за глобална карта на PubNub мрежа в реално време (RTN)

  • PubNub Offline Mobile Push – PubNub също така предоставя резервен механизъм за съобщения до мобилни устройства, когато мобилното приложение не работи (или е във фонов режим). PubNub може да се върне към мобилно „push известие“, като гарантира, че мобилният краен потребител е уведомен дори когато телефонът е в джоба му. Веднага след като приложението бъде стартирано, приложението ще започне отново да използва мрежата в реално време на PubNub.
  • AES криптиране -- PubNub предоставя готова поддръжка за криптиране AES 256, като гарантира, че данните остават криптирани по време на маршрутизиране през мрежата на PubNub. Въпреки че Amazon SNS предоставя HTTPS, това означава, че данните са некриптирани, докато се маршрутизират през мрежата на Amazon. Това незабавно обезсилва използването на Amazon SNS за HIIPA, SAS70 и други свързани със сигурността приложения.
  • Мултиплексиране -- PubNub подобрява многоканалната комуникация с механизъм, който позволява всички теми с данни да бъдат предавани поточно през една връзка TCP Socket. С PubNub Multiplexing спестяванията са най-очевидни при ресурси на мобилни устройства, като например телефони на батерия и по-бавна мрежова свързаност. Данните се компресират и обединяват чрез конфигурируеми прозорци, за да осигурят по-дълъг живот на батерията и подобрено изживяване на крайния потребител при непрекъснато променящи се мрежови условия.

Забавяне (т.е. „в реално време“) 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 канали едновременно, като същевременно продължава да използва един мрежов сокет. Това позволява на клиент едновременно да се абонира за, например, „частен“ канал, специално свързан с едно устройство или набор от устройства, притежавани от едно и също лице, и „обществен“ канал, за който група или цялото население също може да се абонира .

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

Тъй като Amazon SNS не поддържа мултиплексиране, този тип случай на използване не е възможен.

Надеждност и излишък PubNub мрежа в реално време срещу SNS

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

Резюме на PubNub мрежа в реално време и SNS

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

Мрежата в реално време PubNub е проектирана да улесни създаването на приложения в реално време на мобилни устройства, браузър и десктоп, който се мащабира глобално до милиони едновременни потребители. Днес PubNub вече се използва в над 2000 приложения в световен мащаб, обхващащи социални, рекламни, игри, телекомуникации и различни други пазари.

person Stephen Blum    schedule 31.12.2013
comment
Това не е вярно: Обратно, Amazon SNS няма начин да достигне до клиентските устройства, освен чрез имейл или SMS известия. Amazon SNS добави родна доставка на съобщения чрез GCM и APNS преди около половин година. - person tster; 07.01.2014
comment
@tster имаш добра гледна точка, благодаря ти за актуализацията. :-) Споменаваме Amazon SNS няма начин да достигне до клиентски устройства... и имаме предвид маршрути, които не са на трети страни. По принцип GCM и APN са доставчици на трети страни, които зареждат връзката отпред, докато SNS извиква тези доставчици на връзки само отдалеч. Сега, когато говорим за GCM и APNS, това наистина е по-скоро разговор за Push Notifications, което е различен тип решение и се предлага и от други компании. - person Stephen Blum; 08.01.2014
comment
SNS също може да доставя до SQS или HTTP. HTTP няма да работи за мобилни устройства, но с доставка до SQS и SQS с дълго запитване на приложения можете да постигнете повечето от нещата, за които говорите. - person tster; 08.01.2014
comment
Очевидно сте откровен относно това кой сте, но това, което пишете за SNS като цяло, в някои случаи разтяга истината. Въпреки че вашето твърдение, че SNS е проектирано за комуникация между сървъри, е вярно и сте прави, че тези случаи на употреба може да не са най-лесните или най-добрите за SNS. Ето някои корекции: 1) Мултиплексиране - случаите на употреба, които споменахте, могат лесно да бъдат постигнати чрез използване на комбинация от SNS и SQS с SQS за дълго запитване на клиента. - person tster; 08.01.2014
comment
2) 100 теми - Можете лесно да поискате увеличение на броя на темите тук: aws.amazon.com/contact-us/ - person tster; 08.01.2014
comment
3) Закъснения - не знам откъде имаш числата за SNS, но със сигурност не са това, което съм имал. Това може да е вярно за имейл и SMS съобщения, но за http и SQS съобщения латентностите от 95-ия процентил трябва да са много по-добри от това. Освен това грешите, ако приемете, че приложенията от сървър към сървър не са чувствителни към забавяне. - person tster; 08.01.2014
comment
Добър въпрос относно закъсненията и вие отбелязвате отлични точки, които искам да се уверя, че ще разгледаме в нашия разговор. SNS е настроен като инсталация регион по регион, не е автоматично Глобален център за множество данни; Знам, че можете да постигнете това по някакъв начин с малко усилия. Сравнително PubNub е мрежа в реално време, която е глобална с 14 центъра за данни днес и още с автоматична репликация за глобална наличност и максимална производителност. Вижте глобалните измервания на латентността за двупосочно изпращане и получаване: uptime.pubnub.com/302344 - person Stephen Blum; 08.01.2014
comment
Да, това е вярно. Не искам да омаловажавам услугата pubnub по никакъв начин. Изглежда ми превъзходно по много начини, ако търсите съобщения в реално време до приложения, работещи на потребителски устройства (телефони, компютри и т.н.) - person tster; 09.01.2014