Yayınla-Abone Ol (Pub/Sub) Nedir?

İngilizce: Publish-Subscribe (Pub/Sub)

Pub/Sub, yayıncıların olayları kanallara gönderdiği ve abonelerin ilgilendikleri mesajları aldığı iletişim modelidir.

Yayınla-Abone Ol (Pub/Sub) Nedir?

Pub/Sub modelinde mesajı üreten sistem alıcıları tek tek bilmez; olayı bir topic, kanal veya konu başlığına yayınlar. Bu konuya abone olan servisler kendi ihtiyaçlarına göre mesajı alır. Böylece tek bir olaydan fatura, bildirim, raporlama ve arama indeksleme gibi farklı süreçler beslenebilir.

Nasıl Çalışır?

Bir e-ticaret sisteminde order.created olayı yayınlandığında stok servisi rezervasyon yapabilir, bildirim servisi müşteriye mesaj gönderebilir, veri ambarı siparişi raporlama için kaydedebilir. Yayıncı yalnızca olayın şemasını ve konusunu bilir; abonelerin sayısı sonradan artabilir.

Pub/Sub senaryolarında mesaj sırası, en az bir kez teslim, tüketici grupları, tekrar işleme ve şema versiyonlama önemli tasarım başlıklarıdır. Kritik aksiyonlarda tüketiciler idempotent çalışmalıdır; çünkü aynı mesaj retry nedeniyle tekrar gelebilir.

Nerede Kullanılır?

Gerçek zamanlı bildirimler, mikroservis olayları, IoT veri akışı, ürün kataloğu senkronizasyonu ve analitik boru hatları Pub/Sub’a uygundur. Mesaj aracısı altyapıyı sağlar; event-driven mimari bu olayları sistemin ana iletişim modeli haline getirir. Kafka, yüksek hacimli ve tekrar okunabilir event stream ihtiyaçlarında sık kullanılan çözümlerden biridir.