Mesaj Aracısı (Message Broker) Nedir?
İngilizce: Message Broker
Mesaj aracısı, servisler arasında olay ve görevleri kuyruklayıp yönlendiren, üreticiyle tüketiciyi ayıran ara katmandır.
Mesaj Aracısı (Message Broker) Nedir?
Mesaj aracısı, bir servisin ürettiği mesajı doğrudan başka bir servise göndermek yerine ara bir katmanda kabul eder, saklar, yönlendirir ve tüketicilere ulaştırır. Bu yapı, servislerin aynı anda ayakta olmasını zorunlu kılmaz ve ani yük artışlarını daha kontrollü karşılar.
Nasıl Çalışır?
Üretici servis bir olayı veya görevi broker’a gönderir. Broker mesajı kuyruk, topic veya exchange gibi bir yapıda tutar. Tüketici servisler kendi hızlarına göre mesajı alır, işler ve başarılıysa onaylar. İşlenemeyen mesajlar retry kuyruğuna veya dead-letter kuyruğuna taşınabilir.
Kullanılan Modeller
- Task queue: E-posta gönderimi, rapor üretimi, görsel işleme gibi arka plan işleri sıraya alınır.
- Event stream: Sipariş oluşturuldu, ödeme alındı veya stok değişti gibi olaylar akış halinde tutulur.
- Pub/Sub: Bir olay birden fazla aboneye dağıtılır.
RabbitMQ daha çok klasik kuyruk ve yönlendirme modellerinde, Kafka ise yüksek hacimli event stream senaryolarında kullanılır. Mesaj kuyruğu tekil kuyruk yapısını anlatırken, mesaj aracısı bunun etrafındaki routing, güvenilir teslim ve tüketici yönetimini kapsar.
E-ticaret, ERP entegrasyonu, bildirim altyapısı ve mikroservis iletişiminde Kafka veya RabbitMQ seçimi mesaj hacmi, gecikme beklentisi ve saklama ihtiyacına göre yapılır.
İlgili Terimler
Apache Kafka, yüksek hacimli gerçek zamanlı veri akışlarını işlemek için tasarlanmış, dağıtık log tabanlı mesajlaşma platformudur.
Mesaj KuyruğuMesaj kuyruğu, servislerin birbirini beklemeden çalışması için mesajları sıraya alıp tüketicilere güvenilir biçimde iletir.
Yayınla-Abone Ol (Pub/Sub)Pub/Sub, yayıncıların olayları kanallara gönderdiği ve abonelerin ilgilendikleri mesajları aldığı iletişim modelidir.
RabbitMQRabbitMQ, üretici ve tüketici uygulamalar arasında AMQP tabanlı kuyruklar ve exchange'ler kullanarak mesajları güvenilir biçimde ileten broker'dır.