Pola penerbit-langganan berarti bahwa pesan yang dikirim oleh produsen akan diterima oleh banyak konsumen. Karena pesan akan dikonsumsi dan diproses oleh banyak konsumen, pola ini juga disebut pola siaran atau pola satu-ke-banyak.
Catatan: Karena RabbitMQ menerapkan pola penerbit-langganan menggunakan jenis pertukaran fanout, ini juga disebut pola fanout.
Diagram Arsitektur
Penjelasan:
- P mewakili produsen, C1 dan C2 mewakili konsumen, warna merah mewakili antrian, dan X mewakili pertukaran.
- Pertukaran bertanggung jawab untuk meneruskan pesan ke semua antrian yang terikat ke pertukaran.
- Beberapa antrian dapat ditentukan, masing-masing terikat ke pertukaran yang sama.
- Setiap antrian dapat memiliki satu atau lebih konsumen.
Tip: Di dalam antrian yang sama, sebuah pesan hanya dapat diproses oleh satu konsumen. Alasan mengapa pola fanout bisa mencapai siaran pesan pada dasarnya melalui banyak antrian pesan.
Kasus Penggunaan
Pola penerbit-langganan adalah pola konsumsi satu-ke-banyak yang umum digunakan. Misalnya, setelah pesanan e-commerce ditempatkan, pesan pesanan dihasilkan. Modul gudang berlangganan pesan pesanan untuk memproses pengiriman, modul notifikasi berlangganan pesan pesanan untuk mengirim pesan teks, modul poin berlangganan pesan pesanan untuk memproses poin, dll. Dengan berlangganan pesan sesuai kebutuhan, perluasan bisnis tercapai, dan ini adalah pola desain rendah-kekoplingan.