Simple Notification Service (SNS)

Soru: Eğer birden fazla hedefe mesaj göndermek istersek ne olur?

Sorunun tasarımı

Amazon SNS – Temel Özellikler

  • "Olay üreticisi" (event producer), mesajları yalnızca tek bir SNS konusuna (topic) gönderir.

  • Dilediğimiz kadar "olay alıcısı" (event receiver – yani abonelik) bu SNS konusuna abone olarak bildirimleri dinleyebilir.

  • Konuya abone olan her alıcı, tüm mesajları alır. (Not: Mesajları filtrelemeye yarayan yeni bir özellik mevcuttur.)

  • Bir konu (topic) başına en fazla 12.500.000 abonelik desteklenir.

  • Hesap başına toplam 100.000 konu (topic) sınırı vardır.

SNS Subsricerları

Çoğu AWS Serviside Topic olarak SNS'e iletim yapabilir.

SNS Topic Kaynakları

Publish Yapmak

Topic Publish (SDK kullanarak)

  • Bir topic (konu) oluşturulur.

  • Bir veya birden fazla abonelik (subscription) tanımlanır.

  • Mesaj, ilgili topic'e yayınlanır.

Bu yöntem genellikle uygulamalar arasında iletişim kurmak veya birçok alıcıya aynı mesajı göndermek için kullanılır.


Direct Publish (mobil uygulamalar için SDK)

  • Bir platform uygulaması oluşturulur. (örneğin: iOS veya Android için APNS / GCM gibi)

  • Bir platform endpoint’i tanımlanır (her cihaz için benzersiz hedef).

  • Mesaj, bu endpoint’e doğrudan yayınlanır.

  • Şu platformlarla çalışabilir:

    • Google GCM (Firebase Cloud Messaging’in eski versiyonu)

    • Apple APNS (Apple Push Notification Service)

    • Amazon ADM (Amazon Device Messaging)


Güvenlik

Şifreleme (Encryption):

  • Aktarım sırasında şifreleme (in-flight): HTTPS API üzerinden veri iletimi sırasında şifreleme sağlanır.

  • Bekleme halinde şifreleme (at-rest): Veriler, KMS (Key Management Service) anahtarları kullanılarak şifrelenir.

  • İstemci tarafı şifreleme: İstemci, veriyi kendi tarafında şifreleyip/çözmeyi tercih ederse desteklenir.


Erişim Kontrolleri (Access Controls):

  • IAM policy’leri kullanılarak, SNS API erişimi kontrol altına alınabilir.


SNS Erişim Politikaları (SNS Access Policies):

(S3 bucket politikalarına benzer şekilde çalışır.)

  • Farklı AWS hesaplarının SNS konularına erişimini sağlamak için kullanılabilir.

  • Diğer servislerin (örneğin S3) bir SNS konusuna yazmasına izin vermek için tanımlanabilir.


circle-info

SNS'i, SQS'e filtreleme yapmak için kullanmak oldukça yaygındır.

Last updated