Net 5 İle Docker üzerinden RabbitMq Örneği

Merhaba arkadaşlar, bugün sizlerle beraber en populer açık kaynak message broker yapılarından olan rabbitmq ile basit bir örneği gerçekleştireceğiz. Fakat bu örneği yaparken bilgisayarımıza rabbitmq kurulumu yapmak yerine docker containerından faydalanacağız. Sadece rabbitmq değil kullanmak istediğiniz teknolojinin docker imajını bularak benzer şekilde kurulum yapmadan kullanabilirsiniz.

Öncelikle bilgisayarınızda docker kurulu değilse aşağıdaki linkten kurulumu gerçekleştirebilirsiniz.
Windows kullanıcıları eğer sorun yaşarsanız(ben yaşadım) buradaki linux kernel update ini kurmanız gerekir.
https://docs.microsoft.com/tr-tr/windows/wsl/install-manual#step-4—download-the-linux-kernel-update-package
Örneğimizde docker üzerinden rabbitmq ayağa kaldıracağız. Daha sonra burayı besleyen bir producer .net5 apimiz olacak. Basit bir şekilde apiye parametre olarak gelen ismi kuyruğa gönderecek. Bir .net5 consumer konsol projemiz ise bu kuyruğa gelen isimleri ekrana yazdıracak.
Hadi başlayalım;
İlk olarak docker üzerinden rabbitmq containerımızı ayağa kaldıralım.

Kontrol için;
Benim ayarlamalarıma göre aşağıdaki şekilde kontrol edebilirsiniz. Eğer ayarları değiştirdiyseniz yeni ayarları ilgili yerlere yazmanız gerekir (port-username vb.)
http://localhost:15672/
username: enes
password: enes123
RabbitMq-Local
Şimdi parametre olarak isim alıp bu ismi kuyruğa gönderecek olan servisimizi yazalım.

Şimdi rabbitmq.client paketini bu projemizin içerisindeyken ekleyelim.

Servisimizi yazalım ve startupa register edelim. Controllerda bu servisi inject ederek kullanalım.


Projemizi ayağa kaldırarak swagger aracılığı ile kuyruğa verdiğimiz isim gidiyor mu kontrol edelim. (https://localhost:port/swagger/index.html)

Swagger-Producer
NameQueue
Şimdi kuyruğa gelen dataları okuyarak, bunları bize gösterecek olan konsol uygulamasını oluşturalım.

Şimdi bu klasörün içerisine girerek yine Rabbitmq.Client nuget paketini ekleyelim.

Kuyruğu dinleyip ekrana Welcome + isim yazalım.
Consumer

Bilgisayarımıza eksta bir kurulum yapmadan docker aracılığı ile basit bir rabbitmq örneği gerçekleştirdik. Umarım faydalı olmuştur.

Kaynaklar
https://www.docker.com/
https://www.rabbitmq.com/
https://medium.com/devopsturkiye/d61f62513fc9
https://dotnetcorecentral.com/blog/rabbitmq-in-net-core/

Bir cevap yazın

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