Apa itu Sistem Pub/Sub?

Nov 28 2022
Kunjungi systemdesign.us untuk Pertanyaan Wawancara Desain Sistem yang ditandai oleh perusahaan dan Solusinya.

Kunjungi systemdesign.us untuk Pertanyaan Wawancara Desain Sistem yang ditandai oleh perusahaan dan Solusinya. Ikuti kami di YouTube , LinkedIn , Twitter , Media .

Sistem Pub/Sub adalah sistem perpesanan yang memungkinkan pengguna untuk berlangganan topik tertentu dan menerima pesan hanya dari topik langganan mereka. Ini dapat berguna untuk berbagai aplikasi, seperti jejaring sosial, umpan berita, dan permainan.

Bagaimana cara kerja pub/sub?

Penerbit (atau pengirim pesan) mengirim pesan ke topik tertentu. Pesan tersebut kemudian diterima oleh semua pelanggan (atau penerima pesan) dari topik tersebut. Pelanggan dapat memilih untuk berhenti berlangganan suatu topik kapan saja.

Komponen Pub/Sub

https://aws.amazon.com/pub-sub-messaging/

Ada tiga komponen utama dalam sistem pub/sub:

topik : pesan diatur ke dalam topik, dan pengguna dapat berlangganan ke topik tertentu untuk menerima pesan.

penerbit : penerbit adalah pengirim pesan, dan mereka mengirim pesan ke topik tertentu.

pelanggan : pelanggan adalah penerima pesan, dan mereka menerima semua pesan dari topik langganan mereka.

Mengapa menggunakan pub/sub?

Pub/sub dapat berguna untuk aplikasi yang memerlukan pembaruan waktu nyata dari berbagai sumber. Misalnya, aplikasi jejaring sosial mungkin perlu menampilkan pembaruan dari teman mereka kepada pengguna, serta berita dan konten lainnya. Dengan menggunakan pub/sub, aplikasi dapat menerima semua pesan ini secara real time, tanpa harus terus-menerus mengumpulkan data baru.

Apa manfaat pub/sub?

Ada beberapa manfaat menggunakan pub/sub:

  • Pembaruan waktu nyata: Pelanggan dapat menerima pesan segera setelah dipublikasikan, tanpa harus menunggu interval polling reguler.
  • Langganan fleksibel: Pelanggan dapat memilih untuk berlangganan hanya pada topik yang mereka minati, dan dapat berhenti berlangganan kapan saja.
  • Skalabilitas: Sistem pub/sub dapat dengan mudah diskalakan untuk menangani sejumlah besar topik dan pelanggan.
  • Ini memungkinkan komunikasi waktu nyata antara penerbit dan pelanggan.
  • Ini adalah sistem terukur yang dapat menangani sejumlah besar topik dan pelanggan.
  • Ini fleksibel, karena pelanggan dapat memilih dari topik mana mereka ingin menerima pesan.

Ada beberapa kelemahan potensial untuk menggunakan pub/sub:

  • Pengiriman pesan tidak dijamin: Karena pesan dikirim secara asinkron, tidak ada jaminan bahwa pesan tersebut akan diterima oleh semua pelanggan. Artinya, beberapa pesan mungkin terlewatkan jika pelanggan sedang offline atau pesan tertunda karena alasan tertentu.
  • Latensi lebih tinggi: Pengiriman pesan asinkron dapat menghasilkan latensi lebih tinggi daripada pengiriman pesan sinkron (seperti dengan sistem perpesanan tradisional).
  • Riwayat pesan terbatas: Sebagian besar sistem pub/sub hanya melacak pesan terbaru untuk setiap topik, artinya pelanggan hanya akan menerima pesan baru setelah mereka berlangganan. Ini bisa menjadi masalah untuk aplikasi yang membutuhkan riwayat pesan yang lengkap.
  • Penerbit harus mengetahui topik pesan untuk mengirimkannya ke pelanggan yang tepat.
  • Pelanggan dapat menerima pesan yang tidak mereka minati jika mereka berlangganan terlalu banyak topik.
  • Tidak ada jaminan bahwa pesan akan dikirim secara berurutan, atau sama sekali.

Daftar teknologi Pub/Sub

  • Apache Kafka
  • Layanan Pemberitahuan Sederhana Amazon (SNS)
  • Google Cloud Pub/Sub
  • Kotak Acara Microsoft Azure
  • IBM Cloud Pub/Sub
  • Server Streaming NATS
  • CloudEvents
  • MQTT
  • MENGINJAK
  • Webhook
  • Apache ActiveMQ Artemis
  • RabbitMQ