- SNS staat voor Simple Notification Service.
- Het is een webservice waarmee u eenvoudig vanuit de cloud een melding kunt instellen, bedienen en verzenden.
- Het biedt ontwikkelaars de zeer schaalbare, kosteneffectieve en flexibele mogelijkheid om berichten vanuit een applicatie te publiceren en naar andere applicaties te sturen.
- Het is een manier om berichten te verzenden. Wanneer u AutoScaling gebruikt, wordt er een SNS-service geactiveerd die u een e-mail stuurt met de mededeling dat 'uw EC2-instantie groeit'.
- SNS kan de berichten ook naar apparaten sturen door pushmeldingen te sturen naar Apple-, Google-, Fire OS- en Windows-apparaten, evenals naar Android-apparaten in China met Baidu Cloud Push.
- Naast het verzenden van de pushmeldingen naar de mobiele apparaten, verzendt Amazon SNS de meldingen via sms of e-mail naar een Amazon Simple Queue Service (SQS) of naar een HTTP-eindpunt.
- SNS-meldingen kunnen ook de Lambda-functie activeren. Wanneer een bericht wordt gepubliceerd naar een SNS-onderwerp waaraan een Lambda-functie is gekoppeld, wordt de Lambda-functie aangeroepen met de payload van het bericht. Daarom kunnen we zeggen dat de Lambda-functie wordt aangeroepen met een berichtpayload als invoerparameter en de informatie in het bericht manipuleert en het bericht vervolgens naar andere SNS-onderwerpen of andere AWS-services verzendt.
- Met Amazon SNS kunt u meerdere ontvangers groeperen met behulp van onderwerpen waarbij het onderwerp een logisch toegangspunt is dat identieke kopieën van hetzelfde bericht naar de geabonneerde ontvangers verzendt.
- Amazon SNS ondersteunt meerdere eindpunttypen. U kunt bijvoorbeeld IOS-, Android- en SMS-ontvangers groeperen. Zodra u het bericht over het onderwerp publiceert, bezorgt SNS de opgemaakte kopieën van uw bericht aan de abonnees.
- Om gegevensverlies te voorkomen, worden alle op SNS gepubliceerde berichten redundant opgeslagen in meerdere beschikbaarheidszones.
SNS-uitgevers en abonnees
Amazon SNS is een webservice die het verzenden van berichten naar het geabonneerde eindpunt beheert. Er zijn twee klanten van SNS:
- Abonnees
- Uitgevers
Uitgevers
Uitgevers staan ook bekend als producenten die het bericht produceren en verzenden naar de SNS, een logisch toegangspunt.
Abonnees
Abonnees zoals webservers, e-mailadressen, Amazon SQS-wachtrijen en AWS Lambda-functies ontvangen het bericht of de melding van de SNS via een van de ondersteunde protocollen (Amazon SQS, e-mail, Lambda, HTTP, SMS).
Let op: Een uitgever stuurt het bericht naar het SNS-onderwerp dat hij of zij heeft gemaakt. Het is niet nodig om het bestemmingsadres op te geven tijdens het publiceren van het bericht, aangezien het onderwerp zelf overeenkomt met de abonnees die zijn gekoppeld aan het onderwerp dat de uitgever heeft gemaakt en het bericht aan de abonnees bezorgt.
Hoe SNS te gebruiken
- Ga naar de SNS-service die beschikbaar is onder de applicatieservices.
- Klik op de Onderwerpen verschijnt aan de linkerkant van de console.
- Klik op de Onderwerp maken om een nieuw onderwerp aan te maken.
- Voer de onderwerpnaam in een tekstvak in.
- Het onderstaande scherm laat zien dat het onderwerp succesvol is aangemaakt.
- Om een abonnement aan te maken, klikt u op de Abonnement maken .
- Kies nu het eindpunttype en voer het eindpuntadres in, d.w.z. waar u uw melding naartoe wilt sturen.
- Het onderstaande scherm laat zien dat de status van het abonnement in behandeling is.
- In het onderstaande scherm ziet u dat er e-mail naar de abonnee is verzonden. Een abonnee moet op klikken Bevestig abonnement .
- Klik op de onderwerpnaam, bijvoorbeeld hallo, en klik vervolgens op de Bericht publiceren .
- Voer het onderwerp, de Time to Live en de berichttekst in die naar het eindpunt moeten worden verzonden.
- Het bericht is verzonden naar alle abonnees die in de ID zijn vermeld.
Voordelen van SNS
SNS is gebaseerd op push-gebaseerde bezorging. Dit is het belangrijkste verschil tussen SNS en SQS. SNS wordt gepusht zodra u het bericht in een onderwerp publiceert en het bericht bij meerdere abonnees wordt afgeleverd.
SNS ondersteunt meerdere eindpunttypen. Meerdere eindpunttypen kunnen het bericht ontvangen via meerdere transportprotocollen zoals e-mail, sms, Lambda, Amazon SQS, HTTP, enz.
De SNS-service is vrij goedkoop omdat deze gebaseerd is op het 'pay-as-you-go'-model, dat wil zeggen dat u alleen hoeft te betalen wanneer u de bronnen gebruikt, zonder kosten vooraf.
De SNS-service is zeer eenvoudig te gebruiken, omdat de webgebaseerde AWS Management Console de eenvoud van de point-and-click-interface biedt.
SNS wordt gebruikt om de berichtenarchitectuur te vereenvoudigen door de berichtfilterlogica van de abonnees en de berichtrouteringslogica van de uitgevers te ontlasten. In plaats van alle berichten van het onderwerp te ontvangen, stuurt SNS het bericht alleen naar abonnees over hun interesse.
Verschillen tussen SNS en SQS
- SNS staat voor Eenvoudige meldingsservice terwijl SQS staat voor Eenvoudige wachtrijservice .
- SQS is een op pull gebaseerde levering, dat wil zeggen dat berichten niet naar de ontvangers worden gepusht. Gebruikers moeten de berichten uit de wachtrij halen. SNS is een op push gebaseerde bezorging, dat wil zeggen dat berichten naar meerdere abonnees worden gepusht.
- Bij de SNS-service worden berichten tegelijkertijd naar meerdere ontvangers gepusht, terwijl bij de SQS-service berichten niet tegelijkertijd door de meerdere ontvangers worden ontvangen.
- SQS-polling introduceert enige latentie bij het bezorgen van berichten, terwijl SQS-push de berichten onmiddellijk naar de abonnees pusht.