Osman KURT

Kendime Not

.Net Core MassTransit Kullanımı

Merhabalar,

Bu yazımda size basit olarak MassTransit kullanımını örneklendireceğim. Umarım faydalı olur.

RabbitMQ: Asenkron mesajlaşmayı sağlayan mesaj broker dır. Başka bir deyişle ortak platformlar için mesajlaşmayı sağlayan bir message queue'dır.

MassTransit: .Net teknolojilerini kullanarak dağınık uygulamalar oluşturmak için kullanılan free, open soruce, lightweight bir message bus dır. Asenkron mesasjlamak için kullandığımız message broker’lar ile uygulamamız arasında bir abstraction yapıdır da diyebiliriz.

Bir çok yerde ESB(enterprise service bus) olarak geçmesine karşın(wikipedia da dahil), kendileri biraz mütevazi davaranak ESB olmadıklarını her fırsatta dile getirmektedir. MassTransit, Rabbitmq ile birlikte Azure Service Bus, ActiveMQ ve Amazon SQS/SNS message-queue’ları desteklemektedir.

Bunlar arasındaki geçişlerde herhangi bir ekstra kod yazmaya ihtiyaç duymamaktasınız.

Örnek kod bloğuna, çalışır halde alt kısımda bulunan linkten erişebilirsiniz.

https://github.com/byokurt/Net-Core-MassTransit


.Net Core RabbitMQ Kullanımı

Merhabalar,

Bu yazımızda kısaca .net core üzerinde rabbitMQ kullanımı göreceğiz. RabbitMQ nedir nasıl çalışır gibi sorularınıza cevap vermedim. Ancak bir sorunuz varsa yorum kısmından iletebilirsiniz. 

İlk yapılması gereken bilgisayarınıza yok ise docker kurulumunu gerçekleştirmek. 

https://www.docker.com/get-started

Sonraki aşamada kurulumunu tamamladığımız docker üzerinde rabbitmq ayağa kaldırmak. 

Bunun için yapılması gerekenleri sırası ile yazıyorum.

Makinamıza rabbitMQ image indirmek için;

docker pull rabbitmq:latest

İndirdiğimiz image üzerinden container ayağa kaldırmak için;

docker run -d -hostname my-rabbit -name some-rabbit -p 4369:4369 -p 5671:5671 -p 5672:5672 -p 15672:15672 RABBITMQ_DEFAULT_USER=admin -e RABBITMQ_DEFAULT_PASS=123456 rabbitmq:latest

Ayağa kaldırdığımız container üzerine UI plugin aktif etmek için;

docker exec some-rabbit rabbitmq-plugins enable rabbitmq_management
Bütün bunları sorunsuz yaptığımızda http://localhost:15672 adresinden UserName: admin Password: 123456 bilgileri ile management ekranına giriş yapabilirsiniz. Yapacağımız işlemlerin takibini Queue tab'ından izleyebiliriz.

Örnek proje için;

RabbitMQ ve Kafka Karşılaştırması

Message Broker teknolojilerinden öne çıkan iki isim olan Kafka ve RabbitMQ’nun farklarını ve hangi durumlarda hangisinin tercih edilebileceğine dair bilgileri bir araya toplamak istedim. Tabi ki iki teknolojinin de karakteristik özellikleri, avantajları ve dezavantajlar vardır. İki teknoloji de farklı ihtiyaçlara cevap vermektedir. Sizin için hangisinin en uygun olduğunu yine sizin gereksinimleriniz belirleyecektir.

Yazının tamamını okumak için alt kısımdaki bağlantıyı kullanınız.

https://medium.com/@alikzlda/kafka-vs-rabbitmq-abe52d5eee34