RabbitMQ Nedir?
RabbitMQ Nasıl Çalışır?
- Producer (Üretici): Mesajı kuyruğa gönderen uygulama veya servis.
- Queue (Kuyruk): Mesajların geçici olarak saklandığı alan.
- Consumer (Tüketici): Kuyruktan mesajları alan ve işleyen servis veya uygulama.
Bu işlem, arka planda bir sistemin diğerine bağımlı olmasını sağlar. RabbitMQ'nun bu yapıyı çok hızlı ve güvenilir bir şekilde gerçekleştirdiğini göreceksiniz.
RabbitMQ Kullanımı: Adım Adım Kurulum
# 1. RabbitMQ'yu Yüklemek
sudo apt-get update
sudo apt-get install erlang
sudo apt-get install rabbitmq-server
# 2. RabbitMQ’yu Başlatmak
sudo systemctl start rabbitmq-server
sudo systemctl enable rabbitmq-server
# 3. Web Arayüzüne Erişim
http://localhost:15672/
Varsayılan kullanıcı adı ve şifre: guest / guest
RabbitMQ ile Mesaj Gönderme
import pika
# RabbitMQ bağlantısını kuruyoruz
connection = pika.BlockingConnection(pika.ConnectionParameters('localhost'))
channel = connection.channel()
# Kuyruk oluşturuyoruz
channel.queue_declare(queue='hello')
# Mesaj gönderiyoruz
channel.basic_publish(exchange='',
routing_key='hello',
body='Merhaba RabbitMQ!')
print("Mesaj gönderildi!")
# Bağlantıyı kapatıyoruz
connection.close()
RabbitMQ ile Mesaj Alma
import pika
# RabbitMQ bağlantısını kuruyoruz
connection = pika.BlockingConnection(pika.ConnectionParameters('localhost'))
channel = connection.channel()
# Kuyruğu dinliyoruz
channel.queue_declare(queue='hello')
# Mesaj alındığında çalışacak fonksiyon
def callback(ch, method, properties, body):
print(f"Alınan Mesaj: {body.decode()}")
# Kuyruğu dinlemeye başlıyoruz
channel.basic_consume(queue='hello', on_message_callback=callback, auto_ack=True)
print('Mesaj bekleniyor...')
channel.start_consuming()
Bu kadar! Artık RabbitMQ kullanarak mesaj gönderebilir ve alabilirsiniz. Gördüğünüz gibi, RabbitMQ’nun kullanımı oldukça kolay ve esnek.
RabbitMQ'nun Avantajları
- Yük dengeleme: Kuyruğa eklenen mesajlar, farklı tüketiciler arasında dağıtılır, bu da yük dengeleme sağlar.
- Asenkron işlem: RabbitMQ, mesajları asenkron olarak işleyerek sisteminizin hızlı çalışmasına olanak tanır.
- Ölçeklenebilirlik: RabbitMQ, gerektiğinde daha fazla tüketici ekleyerek sisteminizi büyütmenize yardımcı olur.
- Esneklik: Birçok farklı programlama dili ve platformla uyumlu çalışır, böylece sisteminizin her bileşeni RabbitMQ ile iletişim kurabilir.
Sonuç: RabbitMQ ile Güçlü ve Verimli Sistemler
Unutmayın, RabbitMQ sadece basit bir araç değil, aynı zamanda yazılım dünyasında büyük projelerde verimli ve güvenli iletişimi sağlayan bir kahramandır. Eğer siz de uygulamanızda RabbitMQ kullanmaya başlarsanız, hızlı ve güvenilir sistemlerle tanışacak, projelerinizi bir adım öteye taşıyacaksınız!