Yayın-abone modeli, bir üretici tarafından gönderilen bir mesajın birden çok tüketici tarafından alınacağı anlamına gelir. Bir mesajın birden çok tüketici tarafından tüketilip işlenmesi nedeniyle, bu duruma ayrıca yayın modeli veya birçoklu model denir.
Not: RabbitMQ, yayın-abone modelini fanout değişim türünü kullanarak uyguladığından, aynı zamanda fanout modeli olarak da adlandırılır.
Mimarlık Diyagramı
Açıklama:
- P, üreticiyi temsil eder, C1 ve C2 tüketicileri temsil eder, kırmızı kuyrukları ve X değişimini temsil eder.
- Değişim, mesajları değişime bağlı tüm kuyruklara iletmekten sorumludur.
- Birden fazla kuyruk tanımlanabilir, her biri aynı değişime bağlanır.
- Her kuyruk bir veya daha fazla tüketiciye sahip olabilir.
İpucu: Aynı kuyrukta, bir mesaj sadece bir tüketici tarafından işlenebilir. Fanout modelinin mesaj yayınını nasıl başardığı aslında çoklu mesaj kuyrukları aracılığıyla gerçekleşir.
Kullanım Senaryoları
Yayın-abone modeli, sıkça kullanılan bir birçoklu tüketim modelidir. Örneğin, bir e-ticaret siparişi verildikten sonra bir sipariş mesajı oluşturulur. Depo modülü, sipariş mesajını işlemek için abone olur, bildirim modülü sipariş mesajını metin mesajları göndermek için abone olur, puanlar modülü sipariş mesajını işlemek için abone olur, vb. İhtiyaç duyulduğunda mesajlara abone olarak işletme genişlemesi sağlanır ve düşük bağlamalı bir tasarım modelidir.