RabbitMQ nedir ?
RabbitMQ bir mesaj kuyruk sistemidir.(Benzer mesaj kuyruk sistemleri : Azure Queue Storage / Azure Service Bus / Kafka ) Bir kaynaktan almış olduğu mesajları sırası ve yeri geldiğinde başka bir kaynağa ulaştırmaktadır.
Request-Response sürelerinin uzun olduğu işlemlerde, uygulamanın iş yükünü hafifleterek daha iyi bir kullanıcı deneyimi sunmaktadır.
Microservice mimarilerde asenkron iletişimi sağlamaktadır.
Bu kursumda sıfırdan başlayarak RabbitMQ mesaj kuyruk sistemini(Message Broker) tüm yönleriyle öğrenip, öğrenmiş olduğumuz bu bilgiler ışığında Asp.Net Core MVC ve RabbitMQ kullanarak gerçek hayat uygulaması inşa edeceğiz..
Bu Kurs aşağıdaki konuları içermektedir.
RabbitMQ nedir ? RabbitMQ nasıl çalışır ?
RabbitMQ'yu niçin kullanmalıyız ?
Hello Word uygulaması
RabbitMQ container olarak nasıl ayağa kaldırılır ?
RabbitMQ cloud ortamda nasıl kurulur ?
RabbitMQ Exchange tipleri nelerdir ?
Fanout Exchange nedir ? nasıl kullanılır ?
Direct Exchange nedir ? nasıl kullanılır ?
Topic Exchange nedir ? nasıl kullanılır ?
Header Exchange nedir ? nasıl kullanılır ?
Mesaj gövdesinde complex type'lar nasıl taşınır ?
Exchange,Queue ve Message'lar nasıl kalıcı hale getirilir ?
Worker Service nedir ?
Worker Service'ler ile nasıl çalışılır ?
Background Service nedir ? nasıl çalışılır ?
Senaryo 1: Resimlere watermark ekleme işlemini RabbitMQ aracalığı backgroundService'de gerçekleştirmek
Web uygulamamızda resimler kaydedilirken, aynı zamanda resimlere yazı eklenmektedir. Bu işlem uzun sürdüğünden dolayı iyi bir kullanıcı deneyimi sunmamaktadır. Bu işlemi BackgroundService üzerinden rabbitMQ ile haberleşerek gerçekleştiriyoruz. Bu sayede ; resim ekleyen kullanıcılar daha az süre işlemin bitmesini bekleyecekler.
Senaryo 2: Web uygulamasında tablolardan excel oluşturma işlemini RabbitMQ aracılığı ile WorkerService'lerde gerçekleştirmek.
Kursa ait tüm ders kodları github üzerinden indirilebilecektir.