- SNS, Basit Bildirim Hizmeti anlamına gelir.
- Buluttan kurulum, çalıştırma ve bildirim göndermeyi kolaylaştıran bir web hizmetidir.
- Geliştiricilere, bir uygulamadan mesaj yayınlama ve bunları diğer uygulamalara gönderme konusunda yüksek düzeyde ölçeklenebilir, uygun maliyetli ve esnek bir yetenek sağlar.
- Mesaj göndermenin bir yoludur. Otomatik Ölçeklendirmeyi kullandığınızda, size 'EC2 bulut sunucunuzun büyüdüğünü' bildiren bir e-posta gönderecek bir SNS hizmetini tetikler.
- SNS ayrıca Baidu Cloud Push ile Çin'deki Android cihazların yanı sıra Apple, Google, Fire OS ve Windows cihazlarına anlık bildirimler göndererek mesajları cihazlara gönderebilir.
- Amazon SNS, anlık bildirimleri mobil cihazlara göndermenin yanı sıra, bildirimleri SMS veya e-posta yoluyla bir Amazon Simple Queue Service'e (SQS) veya bir HTTP uç noktasına gönderir.
- SNS bildirimleri Lambda işlevini de tetikleyebilir. Kendisiyle ilişkilendirilmiş bir Lambda işlevine sahip bir SNS konusuna bir mesaj yayınlandığında, Lambda işlevi, mesajın yüküyle çağrılır. Dolayısıyla Lambda fonksiyonunun giriş parametresi olarak bir mesaj yükü ile çağrıldığını ve mesajdaki bilgileri işleyerek mesajı diğer SNS konularına veya diğer AWS servislerine gönderdiğini söyleyebiliriz.
- Amazon SNS, konunun abone alıcılara aynı mesajın aynı kopyalarını gönderen mantıksal bir erişim noktası olduğu konuları kullanarak birden fazla alıcıyı gruplandırmanıza olanak tanır.
- Amazon SNS birden fazla uç nokta türünü destekler. Örneğin IOS, Android ve SMS alıcılarını birlikte gruplandırabilirsiniz. Konuya mesaj yayınladığınızda SNS, mesajınızın biçimlendirilmiş kopyalarını abonelere iletir.
- Veri kaybını önlemek için SNS'de yayınlanan tüm mesajlar, birden fazla kullanılabilirlik bölgesinde yedekli olarak depolanır.
SNS Yayıncıları ve Aboneleri
Amazon SNS, abone olan uç noktaya mesaj göndermeyi yöneten bir web hizmetidir. SNS'nin iki istemcisi vardır:
- Aboneler
- Yayıncılar
Yayıncılar
Yayıncılar aynı zamanda mantıksal bir erişim noktası olan SNS'ye mesaj üretip gönderen üreticiler olarak da bilinir.
Aboneler
Web sunucuları, e-posta adresleri, Amazon SQS kuyrukları, AWS Lambda işlevleri gibi aboneler, SNS'den gelen mesajı veya bildirimi desteklenen protokollerden biri (Amazon SQS, e-posta, Lambda, HTTP, SMS) üzerinden alır.
Not: Bir yayıncı, mesajı kendi oluşturduğu SNS konusuna gönderir. Konunun kendisi, yayıncının oluşturduğu konuyla ilişkili abonelerle eşleştiğinden ve mesajı abonelere ilettiğinden, mesajı yayınlarken hedef adresi belirtmeye gerek yoktur.
SNS nasıl kullanılır?
- Uygulama hizmetleri altında bulunan SNS hizmetine geçin.
- Tıkla Konular Konsolun sol tarafında görünür.
- Tıkla Konu Oluştur yeni bir konu oluşturmak için.
- Konu adını bir metin kutusuna girin.
- Aşağıdaki ekran konunun başarıyla oluşturulduğunu göstermektedir.
- Abonelik oluşturmak için Abonelik oluştur .
- Şimdi uç nokta türünü seçin ve Uç Nokta adresini, yani bildiriminizi göndermek istediğiniz yeri girin.
- Aşağıdaki ekran abonelik durumunun beklemede olduğunu gösterir.
- Aşağıdaki ekranda aboneye mailin gönderildiği görülmektedir. Bir Abonenin üzerine tıklaması gerekir. Aboneliği onayla .
- Konu adına tıklayın, yani merhaba ve ardından Mesajı yayınla .
- Konuyu, Yaşam Süresini ve uç noktaya gönderilecek Mesaj metnini girin.
- Mesaj, kimlikte adı geçen tüm abonelere gönderildi.
SNS'in Faydaları
SNS, push tabanlı dağıtıma dayanmaktadır. SNS ve SQS arasındaki temel fark budur. Mesajı bir başlıkta yayınladığınızda ve mesaj birden fazla aboneye teslim edildiğinde SNS iletilir.
SNS birden fazla uç nokta türünü destekler. Birden fazla uç nokta türü, mesajı e-posta, SMS, Lambda, Amazon SQS, HTTP vb. gibi birden fazla aktarım protokolü üzerinden alabilir.
SNS hizmeti, kullandıkça öde modeline dayandığından oldukça ucuzdur, yani herhangi bir ön maliyet olmadan yalnızca kaynakları kullandığınızda ödeme yapmanız gerekir.
Web tabanlı AWS Yönetim Konsolu işaretle ve tıkla arayüzünün basitliğini sunduğundan SNS hizmetinin kullanımı çok basittir.
SNS, abonelerden mesaj filtreleme mantığını ve yayıncılardan mesaj yönlendirme mantığını boşaltarak mesajlaşma mimarisini basitleştirmek için kullanılır. SNS, konuyla ilgili tüm mesajları almak yerine, mesajı yalnızca abonelerin ilgisini çeken kişilere gönderir.
SNS ve SQS arasındaki farklar
- SNS'nin açılımı Basit Bildirim Hizmeti SQS anlamına gelirken Basit Kuyruk Hizmeti .
- SQS, çekmeye dayalı bir dağıtımdır, yani mesajlar alıcılara iletilmez. Kullanıcıların mesajları Kuyruktan çekmesi gerekir. SNS, push tabanlı bir dağıtımdır; yani mesajlar birden fazla aboneye iletilir.
- SNS hizmetinde mesajlar aynı anda birden fazla alıcıya iletilirken, SQS hizmetinde mesajlar aynı anda birden fazla alıcı tarafından alınmaz.
- SQS yoklaması mesaj tesliminde bir miktar gecikmeye neden olurken, SQS itme mesajları abonelere anında iletti.