Mesaj kuyruğu (RabbitMQ, Kafka) ne zaman kullanılır?

Cevap

Mesaj kuyruğu, servisleri birbirinden ayırır ve işleri asenkron hale getirir.

  • Yavaş işleri arka plana almak: e-posta gönderimi, görsel işleme, rapor üretimi
  • Ani yükleri sönümlemek: üretici hızlı, tüketici kendi hızında çalışır
  • Servisleri gevşek bağlamak: sipariş servisi, faturalama ve stok servislerini doğrudan çağırmaz, olay yayınlar

RabbitMQ klasik bir mesaj aracısıdır; yönlendirme kuralları güçlüdür, tüketilen mesaj kuyruktan silinir. Kafka dağıtık bir log'dur; mesajlar saklanır, birden çok tüketici grubu aynı akışı farklı hızlarda okuyabilir ve geçmişe dönük yeniden işleyebilir.

Dikkat edilmesi gerekenler: en az bir kez teslim (at-least-once) nedeniyle tüketiciler idempotent olmalı, işlenemeyen mesajlar için dead-letter kuyruğu kurulmalı.

  1. Dikey ve yatay ölçekleme arasındaki fark nedir?KolaySistem TasarımıFull Stack
  2. Hangi cache stratejilerini biliyorsunuz?OrtaSistem TasarımıFull Stack
  3. REST ile GraphQL arasındaki farklar nelerdir?OrtaSistem TasarımıFull Stack
  4. Bit.ly benzeri bir URL kısaltma servisi tasarlayın.ZorSistem TasarımıFull Stack

Bu konuda başka bir soru biliyor musun?

Mülakatta karşılaştığın soruları ekle, onaylandıktan sonra yayına alınsın.

Soru ekle