Mesaj Kuyruğu Nedir?
İngilizce: Message Queue
Mesaj kuyruğu, servislerin birbirini beklemeden çalışması için mesajları sıraya alıp tüketicilere güvenilir biçimde iletir.
Mesaj Kuyruğu Nedir?
Mesaj kuyruğu, bir sistemin ürettiği işi başka bir sistemin daha sonra işlemesi için araya konan güvenilir tampon katmandır. Sipariş alındığında e-posta gönderme, fatura oluşturma veya rapor üretme gibi işler ana kullanıcı akışını bekletmeden kuyruğa bırakılabilir.
Nasıl Çalışır?
Üretici servis mesajı kuyruğa yazar. Broker mesajı saklar ve uygun tüketiciye iletir. Tüketici işi tamamladığında onay verir; hata olursa mesaj tekrar denenebilir veya dead-letter kuyruğuna taşınabilir. Bu yapı ani trafik artışlarında sistemi korur, ancak mesajların idempotent işlenmesi ve sıralama gereksinimi doğru tasarlanmalıdır.
Araçlar ve Kullanım Alanları
RabbitMQ görev kuyruğu ve yönlendirme esnekliğiyle, Kafka ise yüksek hacimli olay akışı ve kalıcı log yaklaşımıyla sık kullanılır. E-ticaret siparişleri, bildirim gönderimi, görsel işleme, veri senkronizasyonu ve arka plan raporlama tipik senaryolardır.
Event-driven mimarilerde mesaj kuyruğu, servislerin birbirine doğrudan bağımlı olmadan olaylara tepki vermesini sağlar.
İlgili Terimler
Dead letter queue, işlenemeyen mesajları ana kuyruktan ayırarak hata incelemesi, yeniden deneme ve veri kaybını önlemeye yardım eder.
Deque (Veri Yapısı)Deque, eleman ekleme ve çıkarma işlemlerinin hem baştan hem sondan yapılabildiği çift uçlu kuyruk veri yapısıdır.
Event-Driven (Olay Tabanlı)Event-driven mimari, sistemlerin sipariş oluştu, ödeme alındı gibi olaylara bağımsız bileşenlerle tepki vermesini sağlar.
Apache KafkaApache 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 Aracısı (Message Broker)Mesaj aracısı, servisler arasında olay ve görevleri kuyruklayıp yönlendiren, üreticiyle tüketiciyi ayıran ara katmandır.
Mikroservis İletişimiMikroservis iletişimi, bağımsız servislerin REST, gRPC, olaylar veya mesaj kuyruklarıyla veri ve komut alışverişi yapmasıdır.
RabbitMQRabbitMQ, üretici ve tüketici uygulamalar arasında AMQP tabanlı kuyruklar ve exchange'ler kullanarak mesajları güvenilir biçimde ileten broker'dır.