RabbitMQ Nedir?
4 Şubat 2026 · Atakan Güloğlu

RabbitMQ, uygulamalar arasında asenkron iletişim sağlayan bir mesaj kuyruk (Message Queue) sistemidir. Uzun süren veya yoğun istek alan işlemleri arka plana alarak sistemlerin performansını, ölçeklenebilirliğini ve dayanıklılığını artırır. Mesajlar exchange üzerinden routing key’lere göre ilgili queue’lara yönlendirilir ve consumer’lar tarafından uygun zamanda işlenir. E-posta gönderimi, raporlama, bildirim ve mikroservis mimarilerinde yaygın olarak kullanılır.
Nasıl Kurulur ve Nasıl Konfigüre Edilir?
Kurumsal uygulamalar büyüdükçe senkron çalışan sistemler yetersiz kalmaya başlar.
Yoğun istek alan, uzun süren işlemleri olan veya servisler arası bağımlılığı azaltmak isteyen projelerde mesaj kuyrukları (Message Queue) kaçınılmaz hale gelir.
Bu noktada en sık karşılaşılan çözümlerden biri RabbitMQ’dur.
RabbitMQ Nedir?
RabbitMQ, asenkron mesajlaşma sağlayan bir Message Broker’dır.
Temel amacı; bir işlemi yapan sistem ile bu işlemi tüketen sistemi zamansal ve yapısal olarak ayırmaktır.
Kısaca:
-
Üreten sistem (Publisher) mesajı kuyruğa bırakır
-
Tüketen sistem (Consumer) uygun zamanda bu mesajı işler
-
Üreten sistem, işlemin tamamlanmasını beklemez
Bu sayede:
-
Sistemler birbirini kilitlemez
-
Performans artar
-
Ölçeklenebilirlik sağlanır
RabbitMQ, Erlang dili ile geliştirilmiştir ve yüksek erişilebilirlik konusunda oldukça güçlüdür.
Gerçek Hayat Benzetmesi
RabbitMQ’yu bir kargo firması gibi düşünebilirsin:
-
Gönderici paketi verir
-
Kargo firması paketi sıraya alır
-
Alıcı uygun zamanda teslim alır
-
Gönderici “paket ulaştı mı?” diye beklemez
RabbitMQ Nerelerde Kullanılır?
Pratikte en çok karşılaşılan kullanım senaryoları:
-
📧 E-posta gönderimi
-
📄 Dinamik rapor üretimi
-
🔔 Bildirim sistemleri
-
🧾 Log ve event toplama
-
🛒 Yoğun trafik alan e-ticaret işlemleri
Örneğin:
Kullanıcı rapor ister → istek kuyruğa alınır → arka planda rapor üretilir → hazır olunca kullanıcıya bildirim gider.
RabbitMQ Temel Bileşenleri
RabbitMQ mimarisinde birkaç temel kavram vardır:
🔹 Publisher
Mesajı kuyruğa gönderen uygulama.
🔹 Consumer
Kuyruğu dinleyen ve mesajı işleyen uygulama.
🔹 Queue
Mesajların saklandığı yapı.
🔹 Exchange
Mesajların hangi kuyruğa gideceğine karar veren ara katman.
🔹 Routing Key
Mesajın hangi kurala göre yönlendirileceğini belirler.
Exchange Türleri
1️⃣ Direct Exchange
Mesaj, routing key ile birebir eşleşen kuyruğa gider.
- Net ve kontrollü yönlendirme için kullanılır.
2️⃣ Fanout Exchange
Routing key dikkate alınmaz.
Mesaj, exchange’e bağlı tüm kuyruklara gönderilir.- Broadcast / notification senaryoları için idealdir.
3️⃣ Topic Exchange
Routing key desenlerine göre yönlendirme yapılır.
Örnek:
Esnek ve güçlü yönlendirme isteyen sistemlerde tercih edilir.
4️⃣ Headers Exchange
Routing key yerine message header’lara bakılır.
📌 Daha özel filtreleme gereken durumlar için kullanılır.
RabbitMQ Kurulumu (Windows)
1️⃣ Erlang Kurulumu
RabbitMQ, Erlang üzerinde çalışır.
https://www.erlang.org/downloads
Uygun sürümü indirip kur.
2️⃣ RabbitMQ Kurulumu
https://www.rabbitmq.com/install-windows.html
Windows installer ile kurulumu tamamla.
RabbitMQ Konfigürasyonu
🔹 Node Name Ayarı
RabbitMQ node name, bilgisayar host name ile aynı olmalıdır.
Environment Variables içine eklenir.
Management Plugin Aktif Etme
RabbitMQ Command Prompt açılır ve şu komut çalıştırılır:
Yönetim Paneli
Tarayıcıdan erişim:
http://localhost:15672
Varsayılan giriş bilgileri:
Username: guest
Password: guest
Kullanıcı Oluşturma ve Yetkilendirme
Neden RabbitMQ?
RabbitMQ kullanmak:
Sistemi gevşek bağlı (loosely coupled) hale getirir
Trafik patlamalarında sistemi korur
Uzun süren işlemleri arka plana taşır
Mikroservis mimarileri için güçlü bir temel oluşturur
Sonuç
RabbitMQ sadece bir kuyruk sistemi değildir.
Doğru kullanıldığında:
Daha dayanıklı
Daha ölçeklenebilir
Daha yönetilebilir
kurumsal sistemler inşa etmeni sağlar.
