Hızlı Özet (TL;DR)
Mikroservis mimarilerinde sistemlerin birbiriyle doğrudan senkron (HTTP) konuşması kaskat çöküşlere yol açar. Mesaj aracıları (Message Broker) işleri asenkron sıraya koyarak esneklik sağlar. RabbitMQ; karmaşık yönlendirme (routing), mesaj önceliklendirme ve anında teslimat için ideal bir “akıllı komisyoncu” iken, Apache Kafka ise saniyede yüz binlerce olayı diske yazarak saklayan bir “dağıtık veri akış (Event Streaming) platformudur”.
Mimari Karşılaştırma Matrisi
Projenizin gereksinimlerine göre doğru mesajlaşma altyapısını seçme rehberi:
| Özellik | RabbitMQ (Geleneksel Mesaj Kuyruğu) | Apache Kafka (Dağıtık Olay Günlüğü) |
|---|---|---|
| Temel Model | Kuyruk tabanlı (Queue-based / AMQP) | Dağıtık commit log (Publish-Subscribe) |
| Mesaj Saklama | Tüketici (Consumer) mesajı okuyunca silinir | Belirlenen süre boyunca (Örn: 7 gün) diskte saklanır |
| Mesaj Sıralaması | Kuyruk içinde garantili | Bölüm (Partition) bazında garantili |
| Yönlendirme Esnekliği | Direct, Topic, Fanout, Headers ile çok zengin | Temel Topic/Partition yapısıyla sınırlı |
| Veri Akışı (Throughput) | Saniyede 20K – 50K mesaj | Saniyede 1 Milyon+ mesaj (Yüksek hacim) |
| Geriye Dönük Okuma (Replay) | Mümkün değildir | İstenen zamana veya offset değerine dönüp tekrar okunabilir |
Hangi Senaryoda Hangisi Tercih Edilmeli?
RabbitMQ Tercih Edilmesi Gereken Durumlar
- E-posta ve SMS Gönderimi: Kullanıcı kaydolduğunda arka planda tek seferlik bildirim gönderme.
- Kısa Ömürlü Arka Plan Görevleri: PDF fatura oluşturma, görsel boyutlandırma veya dosya dönüştürme.
- Karmaşık İş Kuralları: Mesajın başlığına göre farklı depolara veya servislere dallanması gereken yapılar.
Apache Kafka Tercih Edilmesi Gereken Durumlar
- Endüstriyel IoT ve Telemetri: Fabrikadaki yüzlerce makineden milisaniyede bir gelen sensör ve sıcaklık verilerinin toplanması.
- Büyük Veri ve Analitik: Tıklama akışı (Clickstream) veya kullanıcı hareketlerinin gerçek zamanlı işlenmesi.
- Event Sourcing / CQRS Mimarileri: Sistemdeki tüm durum değişikliklerinin tarihsel bir kütük olarak saklanması.
Endüstriyel sahalarda PLC ve sensör verilerini işleyen gerçek zamanlı veri akış mimarileri için Özel ERP & CRM ve İmalat Çözümleri ve kurumsal yazılım uzmanlığımız için Özel Yazılım Geliştirme sayfalarımızı inceleyebilirsiniz.