RabbitMQ Nedir?

İngilizce: RabbitMQ

RabbitMQ, üretici ve tüketici uygulamalar arasında AMQP tabanlı kuyruklar ve exchange'ler kullanarak mesajları güvenilir biçimde ileten broker'dır.

RabbitMQ Nedir?

RabbitMQ, uygulamalar arasında mesaj taşıyan açık kaynaklı mesaj broker’ıdır. Bir servis işi doğrudan diğer servise yaptırmak yerine mesajı RabbitMQ’ya gönderir; tüketici servis uygun olduğunda mesajı kuyruktan alıp işler.

RabbitMQ’nun merkezinde exchange, queue ve binding kavramları vardır. Üretici mesajı exchange’e yollar. Exchange, routing key ve binding kurallarına göre mesajı bir veya birden fazla kuyruğa yönlendirir. Tüketici mesajı başarılı işlediğinde acknowledgment gönderir; işlenemeyen mesajlar yeniden denenebilir veya dead-letter kuyruğuna alınabilir.

Ne Zaman Kullanılır?

  • E-posta, SMS, fatura üretimi veya görsel işleme gibi arka plan işleri
  • Sipariş sonrası stok, muhasebe ve kargo işlemlerini ayırma
  • Geçici yoğunlukta istekleri kuyruklayarak servisleri koruma
  • Retry ve dead-letter akışlarıyla hatalı işleri izleme

İş Dünyasında Kullanımı

RabbitMQ, güvenilir görev dağıtımı ve esnek yönlendirme gereken sistemlerde kullanışlıdır. Apache Kafka daha çok yüksek hacimli olay akışı ve uzun süreli event log senaryolarında öne çıkar; RabbitMQ ise iş kuyruğu, routing ve acknowledgment odaklı akışlarda daha sade olabilir.

Mesaj kuyruğu mimarisini doğru tasarlamak, Kafka veya RabbitMQ seçiminden önce işin teslim garantisi, sıralama ve tekrar deneme ihtiyaçlarını netleştirmeyi gerektirir.