Dalam tutorial ini, Anda akan mengimplementasikan skenario pesan keluaran menggunakan Amazon Simple Notification Service (SNS) dan Amazon Simple Queue Service (SQS). Dalam skenario ini, pesan "didorong" ke beberapa pelanggan, yang menghilangkan perlunya pemeriksaan secara berkala atau pemilihan pembaruan dan memungkinkan pemrosesan asinkron paralel pesan berdasarkan pelanggan.

Untuk menjelaskan ini, kami mengasumsikan bahwa Anda membangun aplikasi cloud-native yang mengirimkan pesan Amazon SNS untuk topik kapan pun pesanan dibuat pada toko online. Antrean Amazon SQS yang berlangganan ke topik tersebut akan menerima pemberitahuan yang identik untuk pesanan baru.

Layanan AWS yang Anda gunakan di tutorial ini berada dalam AWS Tingkat Gratis.

Mengirim pemberitahuan acara keluaran pada AWS memerlukan akun

Buat Akun Gratis

AWS Tingkat Gratis meliputi 1.000.000 publikasi untuk Amazon Simple Notification Service dan 1.000.000 permintaan Amazon Simple Queue Service.

Lihat Detail AWS Tingkat Gratis »

 

Saat Anda mengeklik di sini, AWS Management Console akan terbuka di jendela browser baru, sehingga Anda dapat tetap membuka panduan langkah demi langkah ini. Ketika layar memuat, masukkan nama pengguna dan kata sandi untuk memulai. Kemudian ketik pemberitahuan di bilah pencarian dan pilih Simple Notification Service untuk membuka konsol layanan.

tmt_send-fanout-event-notifications_1a

(klik untuk memperbesar)

tmt_send-fanout-event-notifications_1a

a. Jika halaman awal konsol SNS muncul, klik Next step.

1a-sns-console-home

(klik untuk memperbesar)

1a-sns-console-home

Dalam langkah ini, Anda akan membuat topik Amazon SNS. Topik adalah saluran komunikasi untuk mengirimkan pesan dan berlangganan pemberitahuan. Dalam contoh ini, aplikasi ecommerce sampel akan mengirimkan pesan ke topik Amazon SNS kapan pun pesanan baru dibuat di toko online. 


a.  Di halaman Buat topik, ketik New-Orders, di kotak nama topik, lalu klik Create topic.

2a-topic-create-wf

(klik untuk memperbesar)

2a-topic-create-wf

b. Halaman detail Topik mengonfirmasikan bahwa topik berhasil dibuat.

2b-topic-create-confirm

(klik untuk memperbesar)

2b-topic-create-confirm

Setelah Anda membuat topik dengan Amazon SNS, Anda akan membuat antrean Amazon SQS yang akan berlangganan ke topik tersebut.

Ketika Anda membuat langganan beberapa antrean ke topik, setiap antrean akan menerima pemberitahuan yang identik setiap kali pesan dikirimkan ke topik. Layanan yang terhubung ke antrean tersebut kemudian memproses pesanan secara asinkron dan secara paralel.

Misalnya, instans server Amazon EC2 yang terpasang ke salah satu antrean dapat menangani pemrosesan atau penyelesaian pesanan, sementara instans server lain dapat dipasangkan ke gudang data untuk analisis dari semua pesanan yang diterima.

Untuk menyederhanakan proses, kami tidak akan memasangkan instans EC2 ke antrean dalam tutorial ini.


a. Klik di sini untuk membuka konsol Amazon SQS di jendela browser baru. Jika halaman awal SQS muncul, klik Mulai Sekarang. Atau, lanjutkan ke langkah berikutnya.

 

tmt_send-fanout-event-notifications_3a

(klik untuk zoom)

tmt_send-fanout-event-notifications_3a

b. Antrean pertama akan menyimpan pesanan untuk Layanan Inventaris fiksional yang menyimpan catatan produk, menambahkan dan menghapus catatan dari inventaris dalam setiap pesanan.  

Pada halaman Create New Queue, masukkan Orders-for-Inventory di bidang Queue Name. Pilih Standard Queue dan klik Quick-Create Queue.

tmt_send-fanout-event-notifications_3b

(klik untuk memperbesar)

tmt_send-fanout-event-notifications_3b

c. Antrean baru Anda dibuat dan dipilih dalam daftar antrean. Berikutnya, Anda akan membuat antrean kedua untuk menangani analitik pesanan.

Klik Create New Queue untuk membuat antrean lainnya untuk menyimpan pesanan untuk Layanan Analitik.

tmt_send-fanout-event-notifications_3c

(klik untuk memperbesar)

tmt_send-fanout-event-notifications_3c

d. Masukkan Orders-for-Analytics di bidang Queue Name , lalu klik Quick-Create Queue

tmt_send-fanout-event-notifications_3d

(klik untuk memperbesar)

tmt_send-fanout-event-notifications_3d

e. Antrean baru sekarang muncul dalam daftar antrean.

tmt_send-fanout-event-notifications_3e

(klik untuk memperbesar)

tmt_send-fanout-event-notifications_3e

Sekarang setelah Anda membuat dua antrean Amazon SQS, Anda perlu membuat langganan ke topik Amazon SNS yang menyiarkan pemberitahuan pesanan baru.


a. Dari daftar antrean, pilih antrean Orders-for-Inventory dan Orders-for-Analytics. Dari Queue Actions, pilih Subscribe Queues to SNS Topic.

tmt_send-fanout-event-notifications_4a

(klik untuk memperbesar)

tmt_send-fanout-event-notifications_4a

b. Kotak dialog Subscribe to a Topic ditampilkan. Dari daftar menurun Choose a Topic, pilih topik New-Orders Amazon SNS Anda.

Topik SNS Anda muncul di daftar karena Anda membuatnya dari akun yang sama dengan yang digunakan untuk membuat antrean Amazon SQS. Jika topik SNS dibuat oleh akun lain, Anda dapat berlangganan ke topik dengan menggunakan ARN Topik. Untuk detail selengkapnya, lihat dokumentasi Amazon SNS.

Jangan ubah Topic Region, dan klik Subscribe.  

tmt_send-fanout-event-notifications_4b

(klik untuk memperbesar)

tmt_send-fanout-event-notifications_4b

c. Kotak dialog Topic Subscription Result ditampilkan. Kli OK.

tmt_send-fanout-event-notifications_4c

(klik untuk memperbesar)

tmt_send-fanout-event-notifications_4c

Antrean Anda sekarang berlangganan ke topik. Dalam langkah ini, Anda akan menyimulasikan pesanan baru dengan aplikasi ecommerce fiksional yang mengirimkan pesan ke topik dengan detail pesanan.


a. Di halaman detail topik New Orders konsol Amazon SNS, klik Publish message.

 

5a-topic-create-confirm

(klik untuk memperbesar)

5a-topic-create-confirm

b. Halaman Publish Message to topic akan muncul. Di kotak Subject, ketikkan Order 123-4567890-1234567. Di bidan Pesan, masukkan teks berikut ini untuk mewakili pesanan sederhana:

1 x Widget @ 29,99 USD

2 x Kabel Widget @ 4,99 USD

Klik Publish Message. Kotak dialog konfirmasi akan muncul.

 

5b-sns-send-message-wf

(klik untuk memperbesar)

5b-sns-send-message-wf

Setelah pesan baru dipublikasikan, Amazon SNS akan mengirimkan pesan itu ke setiap titik akhir yang berlangganan ke topik tersebut. Dalam skenario keluaran seperti ini, antrean Amazon SQS adalah titik akhir.

Dalam langkah ini, Anda akan mengonfirmasikan bahwa antrean menerima pemberitahuan pesanan baru dengan melihat pesan yang dikirimkan topik ke antrean.


a. Di konsol Amazon SQS, centang kotak untuk antrean Orders-for-Inventory dari daftar antrean. Dari menu menurun Queue Action, pilih View/Delete Messages.

 

tmt_send-fanout-event-notifications_6a

(klik untuk memperbesar)

tmt_send-fanout-event-notifications_6a

b. Klik Start Polling for Messages.


tmt_send-fanout-event-notifications_6b

(klik untuk memperbesar)

tmt_send-fanout-event-notifications_6b

c. Kotak dialog View/Delete Messages in Orders-for-Inventory muncul.

tmt_send-fanout-event-notifications_6c

(klik untuk memperbesar)

tmt_send-fanout-event-notifications_6c

d. Di kolom Body, klik More Details. Kotak Message Details berisi dokumen JSON yang berisi subjek dan pesan yang Anda publikasikan ke topik.  

Anda telah mengonfirmasikan bahwa antrean Orders-for-Inventory telah menerima pemberitahuan pesanan baru dari topik New-Orders .  

Klik Close.

 

tmt_send-fanout-event-notifications_6d

(klik untuk memperbesar)

tmt_send-fanout-event-notifications_6d

e. Kami mengasumsikan bahwa Layanan Inventaris fiksional kami telah selesai memproses pesan, dan bahwa kini pesan dapat dihapus dengan aman dari antrean. 

Klik Delete 1 Message. Untuk mengonfirmasikan, klik Yes, Delete Checked Messages. Lalu klik Close.

 

tmt_send-fanout-event-notifications_6e

(klik untuk memperbesar)

tmt_send-fanout-event-notifications_6e

f. Ulangi langkah 6a hingga 6e untuk mengonfirmasikan bahwa antrean Orders-for-Analytics juga menerima pemberitahuan pesanan baru.

tmt_send-fanout-event-notifications_6f

(klik untuk memperbesar)

tmt_send-fanout-event-notifications_6f

Dalam langkah ini, Anda akan menghapus sumber daya yang telah dibuat untuk tutorial ini, yang meliputi Langganan Topik, Topik, dan Antrean. Menghapus sumber daya yang sudah tidak Anda gunakan lagi untuk mencegah dikenai biaya adalah praktik terbaik.


a.Buka konsol Amazon SNS dan klik Topics di panel navigasi kiri.

Pilih topik New-Orders.

Klik Delete untuk menghapus topik.

 

7a

(klik untuk memperbesar)

7a

b. Kotak dialog konfirmasi Delete muncul. Ketik delete me di kotak dialog dan klik Delete. Topik, dan langganannya, sudah dihapus. Anda sekarang dapat menutup jendela browser SNS (tetapi jangan keluar, karena masih perlu menghapus antrean di konsol SQS).

7b

(klik untuk memperbesar)

7b

c. Di konsol Amazon SQS, pilih antrean Orders-for-Inventory dan Orders-for-Analytics. Dari Queue Actions, pilih Delete Queues.


tmt_send-fanout-event-notifications_7c

(klik untuk memperbesar)

tmt_send-fanout-event-notifications_7c

d. Kotak dialog Delete Queues ditampilkan. Klik Yes, Delete 2 Queues. Antrean telah dihapus.

Kini Anda dapat keluar dari konsol Amazon SQS.

tmt_send-fanout-event-notifications_7d

(klik untuk memperbesar)

tmt_send-fanout-event-notifications_7d

Anda telah menerapkan skenario keluaran menggunakan Amazon SNS dan Amazon SQS. Anda sekarang siap untuk menggunakan Amazon SNS dan Amazon SQS untuk mengirimkan pesan ke aplikasi yang memerlukan pemberitahuan segera untuk kejadian, atau untuk membuat buffer pesan di antrean Amazon SQS untuk diproses aplikasi lain di lain waktu.

 


Kini setelah Anda mempelajari cara menerapkan pemberitahuan keluaran pesan menggunakan Amazon Simple Notification Service dan Amazon Simple Queue Service, pilih salah satu opsi berikut untuk menggali perpesanan cloud di AWS lebih dalam.

Pelajari selengkapnya

Dapatkan ikhtisar mengenai kemampuan, komponen, dan kasus penggunaan untuk topik pesan di Amazon Web Services (AWS). Kunjungi halaman web Amazon SNS »

Gali lebih dalam

Jelajahi cara mengaktifkan aplikasi, pengguna akhir, dan perangkat untuk mengirim dan menerima pemberitahuan secara instan dari cloud. Baca dokumentasi »

Lihat fungsinya

Baca informasi tentang bagaimana pelanggan seperti Capital One menggunakan Amazon SQS dan Amazon SNS untuk memisahkan dan menskalakan aplikasi. Tonton webinar »

Ya
Tidak