- SNS oznacza prostą usługę powiadamiania.
- Jest to usługa internetowa, która ułatwia konfigurację, obsługę i wysyłanie powiadomień z chmury.
- Zapewnia programistom wysoce skalowalną, opłacalną i elastyczną możliwość publikowania wiadomości z aplikacji i wysyłania ich do innych aplikacji.
- Jest to sposób wysyłania wiadomości. Kiedy używasz AutoScaling, uruchamia to usługę SNS, która wyśle Ci e-mail z informacją, że „Twoja instancja EC2 rośnie”.
- SNS może również wysyłać wiadomości do urządzeń, wysyłając powiadomienia push do urządzeń Apple, Google, Fire OS i Windows, a także urządzeń z systemem Android w Chinach za pomocą Baidu Cloud Push.
- Oprócz wysyłania powiadomień push na urządzenia mobilne, Amazon SNS wysyła powiadomienia SMS-em lub e-mailem do usługi Amazon Simple Queue Service (SQS) lub do punktu końcowego HTTP.
- Powiadomienia SNS mogą również uruchamiać funkcję Lambda. Kiedy wiadomość jest publikowana w temacie SNS, z którym jest powiązana funkcja Lambda, wywoływana jest funkcja Lambda z ładunkiem wiadomości. Dlatego możemy powiedzieć, że funkcja Lambda jest wywoływana z ładunkiem wiadomości jako parametrem wejściowym i manipuluje informacjami zawartymi w wiadomości, a następnie wysyła wiadomość do innych tematów SNS lub innych usług AWS.
- Amazon SNS umożliwia grupowanie wielu odbiorców za pomocą tematów, gdzie temat jest logicznym punktem dostępu, który wysyła identyczne kopie tej samej wiadomości do odbiorców subskrypcji.
- Amazon SNS obsługuje wiele typów punktów końcowych. Możesz na przykład grupować odbiorców iOS, Android i SMS-ów. Po opublikowaniu wiadomości w temacie SNS dostarcza subskrybentom sformatowane kopie wiadomości.
- Aby zapobiec utracie danych, wszystkie wiadomości publikowane w SNS są przechowywane redundantnie w wielu strefach dostępności.
Wydawcy i subskrybenci SNS
Amazon SNS to usługa internetowa zarządzająca wysyłaniem wiadomości do punktu końcowego subskrypcji. Istnieją dwaj klienci SNS:
- Abonenci
- Wydawcy
Wydawcy
Wydawcy są również znani jako producenci, którzy tworzą i wysyłają komunikat do SNS, który jest logicznym punktem dostępu.
Abonenci
Abonenci, tacy jak serwery internetowe, adresy e-mail, kolejki Amazon SQS, funkcje AWS Lambda, odbierają wiadomość lub powiadomienie z SNS za pośrednictwem jednego z obsługiwanych protokołów (Amazon SQS, e-mail, Lambda, HTTP, SMS).
Uwaga: wydawca wysyła wiadomość do utworzonego przez siebie tematu SNS. Publikując wiadomość nie trzeba podawać adresu docelowego, gdyż sam temat dopasowuje subskrybentów powiązanych z utworzonym przez wydawcę tematem i dostarcza wiadomość do subskrybentów.
Jak korzystać z SNS
- Przejdź do usługi SNS dostępnej w ramach usług aplikacji.
- Kliknij na Tematy pojawiające się po lewej stronie konsoli.
- Kliknij na Utwórz temat aby założyć nowy temat.
- Wpisz nazwę tematu w polu tekstowym.
- Poniższy ekran pokazuje, że temat został pomyślnie utworzony.
- Aby utworzyć subskrypcję, kliknij przycisk Utwórz subskrypcję .
- Teraz wybierz typ punktu końcowego i wpisz adres Endpoint, czyli miejsce, na które chcesz wysłać powiadomienie.
- Poniższy ekran pokazuje, że status subskrypcji oczekuje.
- Poniższy ekran pokazuje, że wiadomość została wysłana do abonenta. Abonent musi kliknąć przycisk Potwierdź subskrybcję .
- Kliknij na nazwę tematu, czyli witaj, a następnie kliknij na Opublikuj wiadomość .
- Wprowadź temat, czas wygaśnięcia i treść wiadomości, która ma zostać wysłana do punktu końcowego.
- Wiadomość została wysłana do wszystkich abonentów wymienionych w identyfikatorze.
Korzyści z SNS
SNS opiera się na dostawie typu push. To jest kluczowa różnica między SNS i SQS. SNS jest przesyłany po opublikowaniu wiadomości w temacie i wiadomość jest dostarczana do wielu subskrybentów.
SNS obsługuje wiele typów punktów końcowych. Wiele typów punktów końcowych może odbierać wiadomości za pośrednictwem wielu protokołów transportowych, takich jak e-mail, SMS, Lambda, Amazon SQS, HTTP itp.
Usługa SNS jest dość tania, gdyż opiera się na modelu pay-as-you-go, czyli płacisz tylko wtedy, gdy korzystasz z zasobów, bez żadnych kosztów początkowych.
Usługa SNS jest bardzo prosta w użyciu, ponieważ internetowa konsola zarządzania AWS oferuje prostotę interfejsu typu „wskaż i kliknij”.
SNS służy do uproszczenia architektury przesyłania wiadomości poprzez odciążenie logiki filtrowania wiadomości od subskrybentów i logiki kierowania wiadomości od wydawców. Zamiast otrzymywać wszystkie wiadomości z danego tematu, SNS wysyła wiadomość tylko do abonenta, który go interesuje.
Różnice b/w SNS i SQS
- SNS oznacza Prosta usługa powiadamiania podczas gdy SQS oznacza Prosta obsługa kolejki .
- SQS to dostarczanie typu pull, co oznacza, że wiadomości nie są przesyłane do odbiorców. Użytkownicy muszą pobierać wiadomości z kolejki. SNS to dostawa typu push, co oznacza, że wiadomości są przesyłane do wielu abonentów.
- W usłudze SNS wiadomości są przesyłane do wielu odbiorców jednocześnie, natomiast w usłudze SQS wiadomości nie są odbierane przez wielu odbiorców jednocześnie.
- Odpytywanie SQS wprowadza pewne opóźnienia w dostarczaniu wiadomości, podczas gdy wypychanie SQS powoduje natychmiastowe przesyłanie wiadomości do abonentów.