Visual C# (.NET)

RabbitMQ Nedir ve Nasıl Kurulur?

RabbitMQ Nedir?

RabbitMQ mesaj kuyruğu (message queue) sistemidir. Yazdığımız programımız üzerinden yapılacak asenkron (asynchronous) işlemleri sıraya koyup, bunları sırayla kuyruktan çekip gerçekleyerek ilerleyen ölçeklenebilir ve performanslı bir sistemdir. RabbitMQ kullanımına potansiyel bir örnek verecek olursak, bulk mail gönderme işlemlerini Server’ı yormayacak bir sisteme evirmek için RabbitMQ kullanabilirsiniz. RabbitMQ bir çok yazılım diline destek vermektedir, bir çok işletim sistemi üzerinde çalışabilmektedir ve open source‘dur.

RabbitMQ’de geçen ve bilmemiz gereken bazı önemli teknik kelimeler aşağıdaki gibidir:

  • Publisher: Kuyruğa mesaj gönderen uygulamadır.
  • Consumer: Kuyruktaki mesajı dinleyecek olan uygulamadır.
  • Queue: Mesajların RabbitMQ tarafından eklendiği kuyruktur.
  • Routing Key: Buraya girdiğimiz key’e göre ilgili Queue’ya mesaj yönlendirilir.
  • Exchange: Routing Key‘e göre mesajı ilgili Queue‘ya yönlendirmektir.
  • Exchange Type: Bir kaç Exchange tipi bulunmaktadır. Bunlar; Direct Exchange, Fanout Exchange ve Topic Exchange‘dir. Exchange tipi, ilgili mesajın Routing Key’e göre hangi Queue‘ya ya da Queue‘lara nasıl yönlendirileceğini belirlemektedir.

Özetlersek, RabbitMQ  bizler için ölçeklenebilir ve performanslı bir şekilde kendi Queue mekanizmasına attığımız işlemleri gerçekler.

RabbitMQ Kurulumu:

RabbitMQ, Erlang dili ile geliştirilmiş bir yapıdır. Bu yüzden kurulumlara başlamadan önce, öncelikle buradan Erlang’ı yüklemeniz gerekmektedir.

Erlang dilini kurduktan sonra RabbitMQ kurulumuna geçebiliriz. Öncelikle buraya girerek “Download” sekmesinden RabbitMQ Server dosyasını indirip kuruyoruz.

Kurulum tamamlandıktan sonra Başlat menüsündeki uygulamalar arasında RabbitMQ Server klasörünü görebilirsiniz. İşte bu kadar!

Bunlara ek olarak sizlere, RabbitMQ Management Plugin’inini nasıl etkinleştirebileceğinizi göstermek istiyorum. Çünkü bu RabbitMQ kontrol paneli üzerinden Queue işlemlerini rahatlıkla takip edebileceksiniz.

Öncelikle RabbitMQ Server klasörü içerisindeki “RabbitMQ Command Prompt”u administrator (yönetici) yetkisi ile çalıştırın. Çalıştırdıktan sonra işlem yapabilmemiz için command line penceresinde servislerin bulunduğu “C:\Program Files\RabbitMQ Server\rabbitmq_server-3.8.9\sbin” path’ine gidelim.

Girdikten sonra Management Plugin’inini enable edebilmek için aşağıdaki komutları girelim:

rabbitmq-plugins enable rabbitmq_management

Yukarıdaki komutu girdikten sonra plugin’leri enable hale getirmiş oluyoruz.

C:\Program Files\RabbitMQ Server\rabbitmq_server-3.8.9\sbin>rabbitmq-plugins enable rabbitmq_management
Enabling plugins on node rabbit@aytacagma:
rabbitmq_management
The following plugins have been configured:
  rabbitmq_management
  rabbitmq_management_agent
  rabbitmq_web_dispatch
Applying plugin configuration to rabbit@aytacagma...
The following plugins have been enabled:
  rabbitmq_management
  rabbitmq_management_agent
  rabbitmq_web_dispatch

started 3 plugins.

C:\Program Files\RabbitMQ Server\rabbitmq_server-3.8.9\sbin>

NOT: Enable işlemi sırasında “Error: unable to connect to node ‘rabbit@somename’: nodedown” gibi bir hata alırsanız eğer, komut satırında önce “rabbitmq-service stop” komutunu çalıştırıp ardından “rabbitmq-server restart” komutunu çalıştırınız.

rabbitmq-service stop 

rabbitmq-server restart 

Artık Management Interface’ye (Yönetim Ekranına) girebilmek için localhost’unuz üzerinde default gelen “15672” portundan http://localhost:15672 adresini kullanarak ulaşabilirsiniz. İlk giriş sırasında kullanıcı adı ve şifre kısımlarına “guest” yazarak RabbitMQ sistemine giriş yapabilirsiniz. Ve işte karşınızda RabbitMQ kontrol paneliniz ;)

Umarım sizler için faydalı bir yazı olmuştur. Diğer yazılarımızda tekrar görüşmek üzere..

B. Aytac AGMA
Comp. Eng.

You can share and save this page with:
Tags: , , , , , , , , , , , , , , ,

Leave a Reply

Your email address will not be published. Required fields are marked *

*