Apa itu olah pesan pub/sub?

Olah pesan publikasi-berlangganan, atau olah pesan pub/sub, adalah model komunikasi asinkron yang memudahkan developer untuk membuat aplikasi yang sangat fungsional dan kompleks secara arsitektural di cloud. Dalam arsitektur cloud modern, aplikasi dipisahkan menjadi blok penyusun independen yang lebih kecil yang disebut layanan. Olah pesan pub/sub menyediakan notifikasi peristiwa instan untuk sistem terdistribusi ini. Olah pesan pub/sub mendukung komunikasi yang dapat diskalakan dan andal antara modul perangkat lunak independen.

Bagaimana cara kerja olah pesan pub/sub?

Sistem publikasi-berlangganan (pub/sub) memiliki empat komponen utama.

Pesan

Pesan adalah data komunikasi yang dikirim dari pengirim ke penerima. Tipe data pesan dapat berupa apa pun, mulai dari string hingga objek kompleks yang mewakili teks, video, data sensor, audio, atau konten digital lainnya.

Topik

Setiap pesan memiliki topik yang terkait dengannya. Topik bertindak seperti saluran perantara antara pengirim dan penerima. Topik memelihara daftar penerima yang tertarik dengan pesan mengenai topik tersebut.

Pelanggan

Pelanggan adalah penerima pesan. Pelanggan harus mendaftar (atau berlangganan) ke topik yang diminati. Mereka dapat melakukan fungsi yang berbeda atau melakukan sesuatu yang berbeda dengan pesan secara paralel.

Penerbit

Penerbit adalah komponen yang mengirim pesan. Penerbit membuat pesan mengenai suatu topik dan mengirimkannya sekali saja ke semua pelanggan topik tersebut. Interaksi antara penerbit dan pelanggan ini adalah hubungan satu-ke-banyak. Penerbit tidak perlu tahu siapa yang menggunakan informasi yang disiarkannya, dan pelanggan tidak perlu tahu dari mana pesan itu berasal.

Apa saja fitur sistem olah pesan pub/sub?

Aplikasi yang dikembangkan dengan pola publikasi-berlangganan (pub/sub) memiliki logika aplikasi dan komunikasi yang terpisah. Infrastruktur olah pesan memisahkan pengiriman pesan antara penerbit dan pelanggan serta menyiarkan ke pelanggan yang berbeda secara asinkron.

Sistem komunikasi pub/sub memiliki fitur utama berikut.

Mendorong pengiriman

Olah pesan pub/sub secara langsung mendorong notifikasi peristiwa asinkron saat pesan dipublikasikan ke topik pesan. Pelanggan diberitahu saat pesan tersedia.

Beberapa protokol pengiriman

Topik terhubung ke berbagai tipe titik akhir, seperti antrean pesan, fungsi nirserver, server HTTP, dan alamat email.

Baca mengenai antrean pesan dengan AWS »

Penyebarluasan

Skenario ini terjadi saat pesan dikirim ke suatu topik lalu direplikasi dan didorong ke beberapa titik akhir. Penyebarluasan memberikan notifikasi peristiwa asinkron, yang pada gilirannya memungkinkan pemrosesan paralel.

Pemfilteran

Fitur pemfilteran memberdayakan pelanggan untuk membuat kebijakan pemfilteran pesan. Jadi, mereka hanya akan mendapatkan notifikasi yang mereka minati, bukan menerima setiap pesan yang diposting terkait topik tersebut.

Multiplexing

Di beberapa kasus, penerbit juga dapat menjadi pelanggan. Anda dapat membuat aliran pesan multipleks dan membuat sistem yang terhubung bersama secara konsisten dan internal.

Apa manfaat olah pesan pub/sub?

Model publikasi-berlangganan (pub/sub) mengaktifkan arsitektur yang didorong peristiwa, yang diperlukan dalam beberapa aplikasi modern. Anda dapat menggunakan peristiwa untuk memicu dan berkomunikasi di antara layanan yang dipisahkan. Peristiwa adalah perubahan keadaan atau pembaruan, seperti item yang ditempatkan di keranjang belanja.

Olah pesan pub/sub memberikan keuntungan yang signifikan bagi developer yang membuat aplikasi yang mengandalkan peristiwa waktu nyata. Kami menguraikan beberapa keuntungan di bawah ini.

Menghapus pemilihan

Topik pesan memungkinkan pengiriman instan, berbasis push, menghilangkan kebutuhan konsumen pesan untuk memeriksa atau memilih informasi dan pembaruan terkini secara berkala. Hal ini mendorong waktu respons yang lebih cepat dan mengurangi latensi pengiriman yang dapat menjadi masalah khusus dalam sistem di mana penundaan tidak dapat ditoleransi.

Penargetan yang dinamis

Pola pub/sub membuat penemuan layanan lebih mudah, lebih alami, dan lebih sedikit rawan kesalahan. Alih-alih memelihara daftar rekan agar aplikasi dapat mengirim pesan, penerbit hanya akan memposting pesan ke suatu topik. Setelah itu, setiap pihak yang berkepentingan akan berlangganan titik akhirnya ke topik tersebut dan mulai menerima pesan ini. Beberapa pelanggan dapat mengubah, meningkatkan, atau menghilang, dan sistem menyesuaikan secara dinamis.

Memisahkan dan menskalakan secara mandiri

Pola pub/sub membuat perangkat lunak lebih fleksibel. Penerbit dan pelanggan dipisahkan dan bekerja secara independen satu sama lain, yang memungkinkan Anda mengembangkan dan menskalakannya secara mandiri. Anda dapat memutuskan untuk menangani pesanan dengan satu cara di bulan ini dan cara lain di bulan berikutnya. Menambah atau mengubah fungsionalitas tidak akan mengirimkan efek riak ke seluruh sistem, karena pub/sub memungkinkan Anda untuk meluweskan cara semuanya bekerja sama.

Menyederhanakan komunikasi

Kode untuk komunikasi dan integrasi adalah beberapa kode yang paling sulit untuk ditulis. Model publikasi-berlangganan mengurangi kerumitan dengan menghapus semua koneksi titik ke titik dengan satu koneksi ke topik pesan. Topik akan mengelola langganan untuk memutuskan pesan apa yang harus dikirim ke titik akhir mana. Callback yang lebih sedikit menghasilkan penggabungan yang lebih longgar, ditambah kode yang lebih mudah dipelihara dan diperluas.

Ketahanan

Layanan olah pesan pub/sub sering memberikan daya tahan yang sangat tinggi, dan setidaknya sekali pengiriman, dengan menyimpan salinan pesan yang sama di beberapa server.

Keamanan

Topik pesan mengautentikasi aplikasi yang mencoba memublikasikan konten dan memungkinkan Anda menggunakan titik akhir terenkripsi untuk mengamankan pesan saat bergerak melalui jaringan.

Apa saja kasus penggunaan olah pesan pub/sub?

Kami menguraikan kasus penggunaan populer dari sistem olah pesan publikasi-berlangganan (pub/sub) di bawah ini.

Melakukan pemrosesan asinkron paralel

Peristiwa yang dipublikasikan ke topik pesan dapat memicu beberapa pekerja untuk melakukan tugas yang diperlukan tetapi tidak terkait secara bersamaan.

Memberikan peringatan aplikasi dan sistem

Mengirimkan pembaruan penting dan notifikasi peristiwa asinkron secara instan ke komponen aplikasi dan pengguna Anda yang terpengaruh.

Mengelola alur kerja asinkron

Sampaikan peristiwa antar aplikasi, memindahkan data antar penyimpanan data, menyegarkan cache terdistribusi, atau memperbarui catatan dalam sistem bisnis.

Menyeimbangkan beban kerja

Kelompokkan tugas pemrosesan massal, atau pisahkan tugas yang lebih besar menjadi banyak tugas yang lebih kecil serta gunakan antrean pesan untuk membagi pekerjaan di antara beberapa pekerja.

Masuk ke beberapa sistem

Merekam peristiwa untuk dianalisis nantinya, mengambil log untuk operasi dan keamanan, atau mengarsipkan guna memenuhi persyaratan pencadangan atau kepatuhan.

Menggunakan penyebarluasan untuk replikasi

Mereplikasi data antara lingkungan produksi dan pengembangan, atau mengembangkan dan menguji dengan data langsung.

Mengoordinasikan aplikasi nirserver

Menyebarluaskan notifikasi peristiwa asinkron ke fungsi terdistribusi dan antrean pesan untuk mengoordinasikan komponen aplikasi nirserver Anda.

Mengalirkan Data IoT

Pola pub/sub adalah cara yang sangat ampuh bagi perangkat Internet untuk Segala (IoT) untuk berinteraksi. Perangkat dapat dengan mudah mengalirkan data ke sistem backend atau satu sama lain.

Apa perbedaan antara antrean pesan dan olah pesan pub/sub?

Antrean pesan adalah bentuk lain dari komunikasi asinkron yang digunakan dalam arsitektur nirserver dan layanan mikro. Pesan disimpan dalam antrean hingga diproses dan dihapus. Antrean pesan mengharuskan pengirim untuk mengetahui dengan siapa mereka bertukar pesan. Pengurutan pesan juga dapat menyebabkan kemacetan dalam sistem.

Sebaliknya, pola publikasi-berlangganan (pub/sub) memungkinkan lebih banyak fleksibilitas. Beberapa pelanggan yang tertarik dapat menerima pesan secara bersamaan dan asinkron. Penerbit tidak perlu tahu siapa pelanggannya. Penanganan pesan lebih dapat diskalakan dan andal, serta memberikan performa yang lebih baik.

Baca mengenai teknologi nirserver di AWS »

Bagaimana AWS dapat mendukung persyaratan olah pesan pub/sub Anda?

Amazon Web Services (AWS) memiliki dua layanan yang dapat Anda gunakan untuk berbagai aplikasi publikasi-berlangganan (pub/sub).

API pub/sub

AWS AppSync adalah layanan terkelola penuh untuk membuat GraphQL dan API pub/sub nirserver yang menyederhanakan pengembangan aplikasi. Anda dapat membuat satu titik akhir untuk membuat kueri, memperbarui, atau memublikasikan data dengan aman.

API pub/sub yang dibuat dengan AWS AppSync memberi Anda kemampuan untuk memublikasikan pembaruan data secara langsung ke klien API berlangganan melalui koneksi WebSocket nirserver. Anda dapat membuat pengalaman waktu nyata yang menarik untuk berbagai kasus penggunaan. Misalnya, Anda dapat memberikan skor game terkini, data keuangan, partisipasi audiens, pemungutan suara, atau fungsionalitas sadar lokasi, seperti peta dan pemasaran notifikasi push.

Berikut adalah beberapa hal yang dapat Anda capai dengan AWS AppSync:

  • Akses data dari satu atau beberapa sumber atau layanan mikro dengan satu permintaan jaringan
  • Berinteraksi dengan dan memperbarui data, bahkan secara offline, dengan sinkronisasi data offline, versioning, dan pemecahan konflik
  • Bayar hanya untuk permintaan ke API Anda dan setiap pesan waktu nyata yang dikirim ke klien yang terhubung

Olah pesan pub/sub

Amazon Simple Notification Service (SNS) memudahkan Anda membuat aplikasi menggunakan model olah pesan pub/sub. Anda dapat mengirim pesan dari aplikasi Anda ke pelanggan atau aplikasi lain dengan cara yang dapat diskalakan dan hemat biaya.

Amazon SNS menawarkan beberapa fitur:

  • Olah pesan dengan throughput tinggi, berbasis push, banyak-ke-banyak antara sistem terdistribusi, layanan mikro, dan aplikasi nirserver yang didorong peristiwa
  • Enkripsi pesan dan privasi lalu lintas
  • Sebarluaskan peristiwa di seluruh kategori AWS, seperti analitik, komputasi, kontainer, basis data, Internet untuk Segala (IoT), machine learning (ML), keamanan, dan penyimpanan

Mulai pub/sub di AWS dengan membuat akun AWS gratis sekarang juga.

Langkah berikutnya di AWS

Lihat sumber daya terkait produk tambahan
Jelajahi Penawaran Internet untuk Segala Gratis 
Daftar untuk akun gratis

Dapatkan akses secara instan ke AWS Tingkat Gratis.

Daftar 
Mulai membangun di konsol

Mulai membangun di Konsol Manajemen AWS.

Masuk