Kullanmaya Başlama / Uygulamalı / ...
Yayma Olay Bildirimleri Gönderme
Amazon Simple Queue Service (SQS) ve Amazon Simple Notification Service (SNS) ile
Giriş
Bu öğreticide, Amazon Simple Notification Service (SNS) ve Amazon Simple Queue Service (SQS) kullanarak bir yayma mesajları senaryosu uygulayacaksınız. Bu senaryoda mesajlar, birden fazla aboneye "anında iletilerek" güncellemeleri düzenli olarak kontrol etme ve yoklama ihtiyacını ortadan kaldırır ve mesajın aboneler tarafından paralel, zaman uyumsuz olarak işlenmesi sağlanır.
Örneğin, çevrimiçi mağazada bir sipariş verildiğinde bir konuya Amazon SNS mesajı gönderen bulut temelli bir uygulama geliştirdiğinizi varsayalım. Bu konuya abone Amazon SQS kuyruklarının her biri, yeni sipariş için aynı iletiyi alır.
Bu öğreticide kullandığınız AWS hizmetleri AWS Ücretsiz Kullanım dahilindedir.
Tamamlama Maliyeti
Ücretsiz Kullanım
Kullanılan Hizmetler
Yayma Olay Bildirimleri Gönderme
AWS'de Hesap Gerektirir
AWS Ücretsiz Kullanım, Amazon Simple Notification Service için 1.000.000 yayıncı ve Amazon Simple Queue Service için 1.000.000 istek içermektedir.
Uygulama
-
Amazon SNS Konsoluna girme
Buraya tıkladığınızda AWS Yönetim Konsolu yeni bir tarayıcı penceresinde açılacaktır ve böylece bu adım adım rehberi açık tutabileceksiniz. Ekran yüklendiğinde, başlamak için kullanıcı adınızı ve parolanızı girin. Ardından, arama çubuğuna bildirim yazın ve hizmet konsolunu açmak için Basit Bildirim Hizmeti seçeneğini seçin.
a. SNS konsolu açılış sayfası belirirse, Sonraki adım seçeneğine tıklayın.
-
Bir Amazon SNS Konusu Oluşturma
Bu adımda, bir Amazon SNS konusu oluşturacaksınız. Konu, mesaj göndermek ve bildirimlere abone olmak için bir iletişim kanalıdır. Burada, örnek bir e-ticaret uygulaması, çevrimiçi mağazada yeni bir sipariş verildiğinde Amazon SNS konusuna bir mesaj gönderecektir.
a. Konu oluştur sayfasında konu adı kutusuna New-Orders yazın, ardından Konu oluştur seçeneğine tıklayın.
b. Konu ayrıntıları sayfası, konunun başarıyla oluşturulduğunu onaylar.
-
Amazon SQS Kuyrukları oluşturun
Amazon SNS ile konu oluşturduğunuza göre, şimdi konuya abone olacak Amazon SQS kuyrukları oluşturacaksınız.
Bir konuya birden fazla kuyruğu abone yaparsanız, bir mesaj konuya anında iletildiğinde her kuyruk aynı bildirimleri alır. Ardından, bu kuyruklara eklenen hizmetler, siparişleri zaman uyumsuz ve paralel olarak işleyebilir.
Örneğin, kuyruklardan birine eklenmiş bir Amazon EC2 bulut sunucusu, siparişlerin işlenmesini veya yerine getirilmesini yönetebilirken diğer bulut sunucusu, alınan tüm siparişlerin analiz edilmesi için bir veri ambarına eklenmiş olabilir.
İşlemi zorlaştırmamak için bu öğreticide EC2 bulut sunucularını kuyruklara eklemeyeceğiz.
a. Amazon SQS konsolunu yeni bir tarayıcı penceresinde açmak için buraya tıklayın. SQS başlangıç sayfası görünürse, Şimdi Kullanmaya Başlayın seçeneğine tıklayın. Aksi takdirde, sonraki adıma geçin.
b. İlk kuyruğumuz, ürünleri takip eden kurgusal bir Envanter Hizmeti için siparişleri saklayarak her siparişle birlikte gerektiğinde bunları envantere ekler ve envanterden siler.
Yeni Kuyruk Oluşturma sayfasında, Kuyruk Adı alanına Orders-for-Inventory yazın. Standart Kuyruk seçeneğini seçili şekilde bırakın ve Hızlı Kuyruk Oluştur seçeneğine tıklayın.
c. Yeni kuyruğunuz oluşturulur ve kuyruk listesinde seçilir. Ardından, sipariş analizlerini ele almak için ikinci bir kuyruk oluşturacaksınız.
Yeni Kuyruk Oluştur seçeneğine tıklayarak Analiz Hizmeti için siparişleri saklamak üzere başka bir kuyruk oluşturun.
d. Kuyruk Adı alanına Orders-for-Analytics yazın ve Hızlı Kuyruk Oluştur seçeneğine tıklayın.
e. Yeni kuyruk artık kuyruk listesinde görünür.
-
Kuyrukları, Konulara Abone Yapın
İki adet Amazon SQS kuyruğunuzu oluşturduğunuza göre şimdi bu kuyrukları, yeni siparişlerin bildirimlerini yayınlayan Amazon SNS konularına abone yapmanız gerekiyor.
a. Kuyruk listesinden Orders-for-Inventory ve Orders-for-Analytics kuyruklarını seçin. Kuyruk İşlemleri'nden Kuyrukları SNS Konularına Abone Yap seçeneğini belirleyin.
b. Bir Konuya Abone Yap diyalog kutusu görüntülenir. Bir Konu Seç açılır listesinden New-Orders Amazon SNS konunuzu seçin.
SNS konunuzu, Amazon SQS kuyruklarını oluşturmak üzere kullandığınız hesapla oluşturduğunuz için bu konu listede görünür. SNS konusu başka bir hesap tarafından oluşturulmuş olsaydı, Konu ARN’si seçeneğini kullanarak bu konuya abone olabilirdiniz. Ayrıntılar için Amazon SNS belgelerine bakın.
Konu Bölgesi alanını değiştirmeden bırakın ve Abone Yap seçeneğine tıklayın.
c. Konuya Abonelik Sonucu iletişim kutusu görüntülenir. Tamam seçeneğine tıklayın.
-
Konuya Mesaj Yayınlama
Kuyruklarınız artık konuya abonedir. Bu adımda, kurgusal e-ticaret uygulamasının, sipariş ayrıntıları ile bir mesajı konuya anında iletmesini sağlayarak yeni bir sipariş simüle edeceksiniz.
a. Amazon SNS konsolu Yeni Siparişler konu ayrıntıları sayfasında Mesajı yayınla seçeneğine tıklayın.
b. Konuya Mesaj Yayınla sayfası görünür. Konu kutusuna Sipariş 123-4567890-1234567 yazın. Mesaj alanına, örnek bir siparişi temsil eden şu metni girin:
1 x Parçacık 29,99 USD
2 x Parçacık Kablosu 4,99 USDMesajı Yayınla seçeneğine tıklayın. Bir onay iletişim kutusu görünür.
-
Aboneliği Doğrulama
Yeni bir mesaj yayınlandığında Amazon SNS bu mesajı, konuya abone olmuş her uç noktaya iletir. Bunun gibi bir yayma senaryosunda uç noktalar, Amazon SQS kuyruklarıdır.
Bu adımda, konunun kuyruklara gönderdiği mesajı görüntüleyerek kuyrukların yeni sipariş bildirimini aldığını onaylayacaksınız.
a. Amazon SQS konsolunda kuyruk listesinden Orders-for-Inventory kuyruğunun kutusunu işaretleyin. Kuyruk İşlemleri açılır listesinden Mesajları Görüntüle/Sil seçeneğini belirleyin.
b. Mesajları Sorgulamaya Başlayın seçeneğine tıklayın.
c. Orders-for-Inventory İçinde Mesajları Görüntüle/Sil iletişim kutusu görünür.
d. Gövde sütununda Daha Fazla Bilgi seçeneğine tıklayın. Mesaj Ayrıntıları kutusunda, konuya yayınladığınızda mesaj ve konusunu içeren bir JSON belgesi bulunur.
Orders-for-Inventory kuyruğunun New-Orders konusundan yeni sipariş bildirimi aldığını onayladınız.
Kapat seçeneğine tıklayın.
e. Kurgusal Envanter Hizmetimizin bu mesajı işlemeyi tamamladığını ve şimdi mesajı kuyruktan güvenli bir şekilde silebileceğimizi varsayalım.
1 Mesaj Sil seçeneğine tıklayın. Onaylamak için Evet, İşaretli Mesajları Sil seçeneğine tıklayın. Ardından Kapat seçeneğine tıklayın.
f. Orders-for-Analytics kuyruğunun da yeni sipariş bildirimi aldığını onaylamak için 6a ile 6e arasındaki adımları tekrarlayın.
-
Kaynaklarınızı Silin
Bu adımda, bu öğretici için oluşturduğunuz ve Konu Abonelikleri, Konular ve Kuyrukları içeren kaynakları sileceksiniz. Daha sonra kullanmayacağınız kaynakları silmeniz en iyi uygulamalardandır, bu sayede ilave ücret ödemek zorunda kalmazsınız.
a. Amazon SNS konsolunu açın ve sol gezinti bölmesinde Konular seçeneğine tıklayın.
New-Orders konusunu seçin.
Konuları silmek için Sil seçeneğine tıklayın.
b. Sil onay iletişim kutusu görünür. İletişim kutusuna beni sil yazın ve Sil seçeneğine tıklayın. Konu ve konunun abonelikleri silinir. Artık SNS tarayıcı penceresini kapatabilirsiniz (ancak hâlâ SQS konsolundaki kuyrukları silmeniz gerektiği için oturumu kapatmayın).
c. Amazon SQS konsolunda Orders-for-Inventory ve Orders-for-Analytics kuyruklarını seçin. Kuyruk Eylemleri bölümünden Kuyruğu Sil seçeneğini belirleyin.
d. Kuyrukları Sil iletişim kutusu görüntülenir. Evet, 2 Kuyruğu Sil seçeneğine tıklayın. Kuyruklar silinir.
Şimdi, Amazon SQS konsolu oturumunuzu kapatabilirsiniz.
Tebrikler!
Amazon SNS ve Amazon SQS kullanarak bir yayma senaryosu uyguladınız. Artık anında olay bildirimi gerektiren uygulamalara mesaj iletmek ve diğer uygulamaların daha sonra işlemesi için Amazon SQS kuyruklarında mesajları arabelleğe almak için Amazon SNS ve Amazon SQS'yi birlikte kullanmaya hazırsınız.