RabbitMQ nedir? Niçin kullanmalıyız ? RabbitMQ kurulumu

Merhabalar , bugün RabbitMQ ile topladığım bilgileri ve kurulum aşamalarını maddeler halinde size aktarmaya çalışacağım. Faydalı olması dileğiyle.

  • RabbitMQ, bir mesaj kuyruk sistemidir.
  • RabbitMQ,bir uygulamadan mesajı alıp ; diğer uygulamaya iletilebilir.
  • RabbitMQ’yu kargo firması olarak düşünebilirsiniz. Kargo firmasına kargo gelir. Gelen bu kargo, kargo firmasında bekletilir. Yeri ve zamanı geldiğinde ise alıcıya teslimatı sağlanır. RabbitMQ’nun da yaptığı işlem bunun ile benzerlik gösterir. Mesaj gelir ve bu mesaj RabbitMQ tarafından kendi sistemine alınır. Yeri ve zamanı geldiğinde ise bu mesaj iletilir.
  • RabbitMQ Erlang dili ile geliştirilmiştir. Open Source(Açık Kaynak) ‘dur. Ve yaygın bir biçimde kullanılmaktadır.
  • Farklı işletim sistemlerine kurulabilir.
  • RabbitMQ gibi mesaj kuyruk sistemlerine Message Broker adı verilir. RabbitMQ mesaj kuyruk sistemlerinden sadece bir tanesidir. Kafka,MSMQ gibi Message Broker çeşitleri de bulunmaktadır.
  • Ölçeklendirilebilir,kararlı ve kolaylılığı nedeniyle RabbitMQ; en çok kullanılan kuyruk sistemidir.
  • Exchange ve Queue olmak üzere iki yapısı bulunmaktadır.
  • Exchange ; gelen mesajı alır, ilgili Route ile kuyruklara yönlendirir. Message Broker’a mesajlar Publisher(mesajı üreten kısım ) tarafından gelmektedir. Mesaj geldikten sonra mesajı ilk karşılayan Exchange yapısıdır. Exchange gelen mesaj Queue kısmına iletilir.
  • Queue kısmında ise mesajlar sıralanır. Mesajların çıkışı “First In, First Out” mantığında çalışmaktadır. Yani “İlk giren mesaj, ilk çıkar.”
  • Peki bu mesajları kim tüketir ? Consumer adı verilen bir uygulama sayesinde mesajlar tüketilir. Publisher’ı Java ile geliştirilen bir sistemde ,Consumer C# veya başka bir dille geliştirilebilir. Bu durumda herhangi bir sıkıntı yaşanmaz.
  • Consumer mesajı aldıkça Queue’deki mesaj sayısı düşer ve Queue’deki sıradaki mesaj Consumer’a iletilir.
  • RabbitMQ sayesinde; web sitesi veya mobil uygulaması farketmeksizin, anlık yapılmayan işlemlerin, asenkron şekilde gerçekleştirilmesini ve uygulamayı kullanılan kişilere gereksiz bir response time zamanına maruz bırakılmamasını sağlamış oluruz.
  • Kullanıcı siteye üye olduğunda üyelik maili atıldığını düşünelim. Bunu site üzerinden yapmak yoğunluğa sebep olabilir. O nedenle RabbitMQ ile kuyruğa atıp, gecikme süresini azaltabiliriz. Aslında işlem Producer’a değil, arka tarafta çalışan uygulamaya yani Consumer’a yaptırılmış olur

Windows Kurulumu ;

  • Öncelikle Erlang dilinin kurulumunubu alandan kurulum sayfasına gidebilir ve kendinize uygun seçimi aşağıdaki gibi gerçekleştirebilirsiniz. Bana uygun 64 bit olduğu için aşağıdaki seçimi gerçekleştirdim.
  • RabbitMQ ‘nun ise bu linkten gerçekleştirebilirsiniz.
  • Öncelikli olarak Erlang kurulmalı, standart olarak Next işlemlerini gerçekleştirerek kurulumu sağlayabilirsiniz.
  • Erlang kurulumu bittikten hemen sonra , RabbitMQ kurulmalııdır. Standart olarak Next işlemlerini gerçekleştirerek kurulumu sağlayabilirsiniz.
  • RabbitMQ Windows’ta bir servis olarak çalışmaktadır.
  • Services kısmından RabbitMQ ‘yi bulup servisi Restart etmeniz gerekir.
  • RabbitMQ yi açabilmeniz için bir web arayüzü bulunmaktadır. Bunu aktif hale getirmek gerekir. Bunun için “C:\Program Files\RabbitMQ Server\rabbitmq_server-3.8.8\sbin” klasör yoluna gitmeniz gerekir.
  • Komut siteminde bu klasör yoluna gelip “ rabbitmq-plugins enable rabbitmq_management ” komutunu yazmanız gerekir. Bu komutu çalıştırdığınız takdirde aşağıdaki pluginler yüklenecektir.
  • RabbitMQ localhost:15672 portundan hizmet vermektedir. Aşağıdaki gibi arayüz açılacaktır. “guest” kullanıcı adı ve şifresi ile arayüze giriş yapabilirsiniz. Daha sonrasında bu şifreyi ve kullanıcı adını değiştirebilirsiniz.

Vee arayüz de kuruldu. Artık sisteminizin durumunu aşağıdaki arayüzden takip edebilirsiniz.

Bir sonraki yazımda görüşmek üzere..

Kaynakça

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir