AWS - Razlika med SQS in SNS

SQS (Simple Queue Service) v primerjavi s SNS (Simple Notification Service) v AWS (Amazon Web Services)

SNS in SQS

SNS (enostavna storitev obveščanja)

SNS

SNS je Amazon Simple Notification Service (Amazon SNS) hitra, fleksibilna, v celoti upravljana storitev obveščanja o potiskih, ki omogoča pošiljanje posameznih sporočil ali množično pošiljanje sporočil velikemu številu prejemnikov. Amazon SNS omogoča preprosto in stroškovno učinkovito pošiljanje potisnih obvestil uporabnikom mobilnih naprav, prejemnikom e-pošte ali celo pošiljanje sporočil drugim razdeljenim storitvam.

Razdeljeni sistem objave in naročanja. Sporočila potisnejo do naročnikov, ko in ko jih založniki pošljejo SNS, SNS podpira več končnih točk, kot so e-pošta, sms, končna točka http in SQS. Če želite neznano število in vrsto naročnikov prejemati sporočila, potrebujete SNS.

Z Amazon SNS lahko z Baidu Cloud Push pošiljate potisna obvestila v naprave Apple, Google, Fire OS in Windows ter Android naprave na Kitajskem. S pomočjo SNS lahko pošiljate SMS sporočila uporabnikom mobilnih naprav v ZDA ali prejemnikom e-pošte po vsem svetu.

SNS je porazdeljeni sistem objave in naročanja. Sporočila potisnejo do naročnikov, ko in ko jih založniki pošljejo SNS.

SQS (enostavna storitev čakalnih vrst)

SQS

SQS se distribuira v čakalnem sistemu. Sporočila se ne potisnejo na sprejemnike. Prejemniki morajo anketirati SQS za prejemanje sporočil. Sporočila ne more prejemati več sprejemnikov hkrati. Vsak en prejemnik lahko prejme sporočilo, ga obdela in izbriše. Drugi sprejemniki kasneje ne prejmejo istega sporočila. Anketa sama po sebi vnaša nekaj zamud pri pošiljanju sporočil v SQS za razliko od SNS, kjer sporočila takoj potisnejo do naročnikov.

SQS se v glavnem uporablja za ločevanje aplikacij ali integracijo aplikacij. Sporočila lahko shranite v SQS za kratek čas (največ 14 dni). SNS razdeli več kopij sporočila več naročnikom. Na primer, recimo, da želite kopirati podatke, ki jih ustvari aplikacija, v več sistemov za shranjevanje. Uporabite lahko SNS in pošljete te podatke večkratnim naročnikom, pri čemer vsaka ponovi sporočila, ki jih prejme v različne sisteme za shranjevanje (s3, trdi disk na vašem gostitelju, zbirki podatkov itd.).

SNS podpira več končnih točk, kot so e-pošta, sms, http končna točka in SQS. Če želite neznano število in vrsto naročnikov prejemati sporočila, potrebujete SNS.

Sledi nekaj razlik:

Vrsta subjekta

  • SQS: čakalna vrsta (podobno kot JMS)
  • SNS: Tema (Pub / Podsistem)

Poraba sporočil

  • SQS: Potegnite mehanizem - Potrošniki anketirajo in povlečejo sporočila iz SQS
  • SNS: Pritisni mehanizem - SNS Potiska sporočila potrošnikom

Uporabite Case

  • SQS: Ločevanje dveh aplikacij in omogočanje vzporedne asinhrone obdelave
  • SNS: Fanout - Pomeni, da lahko isto sporočilo obdelamo na več načinov

Vztrajnost

  • SQS: Sporočila obstajajo nekaj časa (nastavljivo), potrošnik ni na voljo
  • SNS: Brez vztrajnosti. Ne glede na to, kateri potrošnik je prisoten ob prihodu sporočila, ga dobite in sporočilo se izbriše. Če potrošnikov ni na voljo, se sporočilo izgubi.

t.j. v SQS je dostava sporočil zagotovljena, v SNS pa ne.

Vrsta potrošnika

  • SQS: Vsi potrošniki naj bi bili enaki, zato sporočila obdelujejo na popolnoma enak način
  • SNS: Vsi potrošniki naj bi sporočila obdelovali na različne načine

Vzorčne aplikacije

  • SQS: Okvir delovnih mest. Če so delovna mesta predložena SQS, potrošniki na drugem koncu pa lahko opravila obdelajo asinhrono. Če se delovna frekvenca poveča, se lahko za vzporedno obdelavo poveča število odjemalcev
  • SNS: Obdelava slik. Če nekdo naloži sliko na S3, jo nato z vodnim žigom ustvari sličico in pošlje e-poštno sporočilo z zahvalo. V tem primeru lahko S3 pošlje obvestilo na temo SNS in 3 potrošniki se lahko pridružijo temi SNS. Prvi na sliki podoživi znak, drugi ustvari sličico, tretji pa pošlje e-poštno sporočilo ThankYou. Vsi prejemajo isto sporočilo (URL slike) in vzporedno opravijo ustrezno obdelavo.

SNS in SQS vam ni treba vedno spajati. SNS lahko pošiljate sporočila na e-pošto, sms ali končno točko http razen SQS. Obstajajo prednosti pri povezovanju SNS s SQS. Morda ne želite, da zunanja storitev vzpostavi povezave z gostitelji (požarni zid lahko blokira vse dohodne povezave do vašega gostitelja od zunaj). Vaša končna točka bo morda le umrla zaradi velike količine sporočil. E-pošta in SMS morda niso vaša izbira za hitro obdelavo sporočil. Če povežete SNS s SQS, lahko prejemate sporočila v svojem tempu. Strankam omogoča, da so brez povezave, strpni do okvar omrežja in gostitelja. Dosežete tudi zajamčeno dostavo. Če konfigurirate SNS za pošiljanje sporočil na končno točko http ali e-pošto ali SMS, lahko več neuspešnih poslanih sporočil povzroči, da sporočilo odpade.

SQS se v glavnem uporablja za ločevanje aplikacij ali integracijo aplikacij. Sporočila lahko shranite v SQS za kratek čas (največ 14 dni). SNS razdeli več kopij sporočila več naročnikom. Na primer, recimo, da želite kopirati podatke, ki jih ustvari aplikacija, v več sistemov za shranjevanje. Uporabite lahko SNS in pošljete te podatke večkratnim naročnikom, pri čemer vsaka ponovi sporočila, ki jih prejme v različne sisteme za shranjevanje (s3, trdi disk na vašem gostitelju, zbirki podatkov itd.).

Srečno oblačenje !!!