AWS - розніца паміж SQS і SNS

SQS (Simple Service Queue) супраць SNS (Simple Service Notification) у AWS (Amazon Web Services)

SNS і SQS

SNS (служба простых апавяшчэнняў)

SNS

SNS - служба Amazon Simple Notification Service (Amazon SNS) - гэта хуткая, гнуткая, цалкам кіраваная паслуга націску апавяшчэнняў, якая дазваляе адпраўляць асобныя паведамленні альбо масаваць паведамленні вялікай колькасці атрымальнікаў. Amazon SNS дазваляе проста і эканамічна адпраўляць націскныя апавяшчэнні карыстальнікам мабільных прылад, электронным адрасатам і нават адпраўляць паведамленні іншым размеркаваным службам.

Размеркаваная сістэма публікацыі і падпіскі. Паведамленні адпраўляюцца падпісчыкам, калі і калі іх выдаўцы адпраўляюць SNS, SNS падтрымлівае некалькі канчатковых пунктаў, такія як электронная пошта, SMS, канчатковая кропка http і SQS. Калі вы хочаце невядомыя колькасць і тып падпісчыкаў, каб атрымліваць паведамленні, вам патрэбны SNS.

З дапамогай Amazon SNS вы можаце адпраўляць націскныя апавяшчэнні на Apple, Google, Fire OS і прылады Windows, а таксама на прылады Android у Кітаі з Baidu Cloud Push. Вы можаце выкарыстоўваць SNS для адпраўкі SMS-паведамленняў карыстальнікам мабільных прылад у ЗША або адрасам электроннай пошты па ўсім свеце.

SNS - гэта распаўсюджаная сістэма публікацыі і падпіскі. Паведамленні адпраўляюцца падпісчыкам, як і калі яны высылаюць выдавецтвам у SNS.

SQS (служба простай чаргі)

SQS

SQS размеркавана сістэмай чэргі. Паведамленні не прымацоўваюцца да прыёмнікаў. Атрымальнікі павінны апытаць SQS, каб атрымліваць паведамленні. Паведамленні не могуць быць атрыманы некалькімі прыёмнікамі адначасова. Любы адзін атрымальнік можа атрымаць паведамленне, апрацаваць і выдаліць яго. Іншыя прымачы не атрымаюць тое ж паведамленне пазней. Апытанне па сутнасці ўводзіць некаторую затрымку ў дастаўцы паведамленняў у SQS, у адрозненне ад SNS, дзе паведамленні адразу ж адпраўляюцца падпісчыкам.

SQS у асноўным выкарыстоўваецца для развязкі прыкладанняў або інтэграцыі прыкладанняў. Паведамленні могуць захоўвацца ў SQS на працягу кароткага часу (максімум 14 дзён). SNS размяркоўвае некалькі асобнікаў паведамлення некалькім падпісчыкам. Напрыклад, скажам, што вы хочаце рэплікаваць дадзеныя, згенераваныя прыкладаннем, у некалькі сістэм захоўвання дадзеных. Вы можаце выкарыстоўваць SNS і адпраўляць гэтыя дадзеныя некалькім падпісчыкам, кожны з якіх рэплікуе паведамленні, якія ён атрымлівае, у розныя сістэмы захоўвання (s3, жорсткі дыск на хосце, базе даных і г.д.).

SNS падтрымлівае некалькі канчатковых пунктаў, такіх як электронная пошта, SMS, канчатковая кропка http і SQS. Калі вы хочаце невядомыя колькасць і тып падпісчыкаў, каб атрымліваць паведамленні, вам патрэбны SNS.

Ніжэй прыведзены некаторыя адрозненні:

Тып асобы

  • SQS: Чарга (падобна на JMS)
  • SNS: Тэма (Pub / Sub system)

Спажыванне паведамленняў

  • SQS: Механізм выцягвання - спажыўцы апытваюць і цягнуць паведамленні з SQS
  • SNS: Механізм націску - SNS падштурхоўвае паведамленні да спажыўцоў

Выкарыстоўвайце Справа

  • SQS: Развязка двух прыкладанняў і дазвол паралельнай асінхроннай апрацоўкі
  • SNS: Fanout - Гэта значыць, што адно і тое ж паведамленне можа быць апрацавана некалькімі спосабамі

Настойлівасць

  • SQS: Паведамленні захоўваюцца на працягу некаторай (наладжвальнай) працягласці
  • SNS: Няма настойлівасці. Незалежна ад таго, які спажывец прысутнічае падчас прыходу паведамлення, атрымайце паведамленне і выдаліце ​​паведамленне. Калі спажыўцоў няма, паведамленне губляецца.

г.зн. у SQS дастаўка паведамленняў гарантаваная, а ў SNS - не.

Тып спажыўца

  • SQS: Усе спажыўцы павінны быць ідэнтычнымі і таму апрацоўваць паведамленні сапраўды такім жа чынам
  • SNS: Усе спажыўцы (як мяркуецца,) апрацоўваюць паведамленні па-рознаму

Прыклад прыкладання

  • SQS: Рамкі вакансій. Там, дзе заданні перадаюцца ў SQS, а спажыўцы з іншага боку могуць апрацоўваць заданні асінхронна. І калі павялічваецца частата заданняў, тады колькасць спажыўцоў можа павялічвацца для паралельнай апрацоўкі
  • SNS: Апрацоўка малюнкаў. Калі хто-то загружае выяву на S3, то вадзяным знакам стварыце мініяцюру і таксама адпраўце ліст з падзякай. У гэтым выпадку S3 можа адпраўляць апавяшчэнне на тэму SNS, і 3 спажыўцы могуць быць далучаны да тэмы SNS. 1-я акварэль малюнка, 2-я стварае мініяцюру, а трэцяя адпраўляе ліст падзякі. Усе яны атрымліваюць адно і тое ж паведамленне (URL выявы) і паралельна выконваюць адпаведную апрацоўку.

Вам не трэба заўсёды параваць SNS і SQS. У вас ёсць магчымасць SNS адпраўляць паведамленні на электронную пошту, SMS або канчатковую старонку http, акрамя SQS. Ёсць перавагі ў сувязі з SNS з SQS. Вы можаце не хацець, каб знешняя служба ўсталёўвала хасты (брандмаўэр можа заблакаваць усе ўваходныя злучэнні з хостам звонку). Ваша канчатковая кропка можа проста памерці з-за вялікага аб'ёму паведамленняў. Адправіць электронную пошту і SMS, магчыма, не ваш выбар хутка апрацоўваць паведамленні. Спалучаючы SNS з SQS, вы можаце атрымліваць паведамленні ў сваім тэмпе. Гэта дазваляе кліентам быць у аўтаномным рэжыме, талерантнымі да збояў у сеткі і хаста. Вы таксама дасягаеце гарантаванай дастаўкі. Калі вы настроіце SNS для адпраўкі паведамленняў у канчатковую кропку http альбо электроннай пошты ці SMS, некалькі памылак у адпраўцы паведамлення могуць прывесці да адмены паведамлення.

SQS у асноўным выкарыстоўваецца для развязкі прыкладанняў або інтэграцыі прыкладанняў. Паведамленні могуць захоўвацца ў SQS на працягу кароткага часу (максімум 14 дзён). SNS размяркоўвае некалькі асобнікаў паведамлення некалькім падпісчыкам. Напрыклад, скажам, што вы хочаце рэплікаваць дадзеныя, згенераваныя прыкладаннем, у некалькі сістэм захоўвання дадзеных. Вы можаце выкарыстоўваць SNS і адпраўляць гэтыя дадзеныя некалькім падпісчыкам, кожны з якіх рэплікуе паведамленні, якія ён атрымлівае, у розныя сістэмы захоўвання дадзеных (s3, жорсткі дыск на хосце, базе даных і г.д.).

Шчаслівае воблака !!!