Skip to content

Latest commit

 

History

History
105 lines (65 loc) · 4.02 KB

File metadata and controls

105 lines (65 loc) · 4.02 KB

Anotações do curso

Microservices Async Communication w/ RabbitMQ & MassTransit for Checkout Order

Introdução

Implementar comunição assíncrona com RabbitMQ e MassTransit para "Checkout Order" entre os microserviços Basket e Ordering.

Big Picture

Pub/Sub RabbitMQ Architecture

Publisher/Subscriber of BasketCheckout Event w/ Basket and Ordering Microservices

Microservices Communication Types Request-Driven or Event-Driven Architecture

Microservice Communication Types

What is RabbitMQ, Main Components of RabbitMQ

What is RabbitMQ

Main Components of RabbitMQ

RabbitMQ Queue Properties

RabbitMQ Exchange Types

RabbitMQ Exchange Types

RabbitMQ Topic & Fanout Exchange Types

Adding RabbitMQ image into Docker-Compose File for Multi-Container Docker Env

Adiciona a imagem oficial do RabbitMQ no docker-compose.

Analysis & Design BuildingBlocks EventBus.Messages Class Library Project

Analysis & Design RabbitMQ & BuildingBlocks EventBus.Messages

Publisher/Subscriber of BasketCheckout Event

RabbitMQ Nuget Packages

Developing BuildingBlocks EventBus.Messages Class Library

Adicionado novo projeto "EventBus.Messages" em "src/BuildingBlocks" com os comandos:

# Criando um projeto classlib em src/BuildingBlocks/EventBus.Messages
dotnet new classlib -o EventBus.Messages

# Voltando para a pasta que contém a solution "aspnetrun-microservices.sln" (pasta 'src')
cd ..

# Adicionado o projeto csproj no arquivo de solution
dotnet sln add ./BuildingBlocks/EventBus.Messages/EventBus.Messages.csproj

Produce RabbitMQ Event From Basket Microservice Publisher of BasketCheckoutEvent

Adicionada referência do projeto EventBus.Messages no projeto Basket.API executando o seguinte comando dentro de src/Services/Basket/Basket.API:

dotnet add reference ../../../BuildingBlocks/EventBus.Messages/EventBus.Messages.csproj

E depois adicionados os pacotes necessários para o EventBus em Basket.API:

dotnet add package MassTransit
dotnet add package MassTransit.RabbitMQ
dotnet add package MassTransit.AspNetCore

Publish BasketCheckout Queue Message Event in Basket.API Controller Class

Adicionado AutoMapper.Extensions.Microsoft.DependencyInjection e Microsoft.VisualStudio.Azure.Containers.Tools.Targets em Basket.API

dotnet add package AutoMapper.Extensions.Microsoft.DependencyInjection
dotnet add package Microsoft.VisualStudio.Azure.Containers.Tools.Targets

Consume RabbitMQ Event From Ordering Microservice Subscriber of BasketCheckout

Adicionada referência do projeto EventBus.Messages no projeto Ordering.API executando o seguinte comando dentro de src/Services/Ordering/Ordering.API:

dotnet add reference ../../../BuildingBlocks/EventBus.Messages/EventBus.Messages.csproj

E depois adicionados os pacotes necessários para o EventBus em Ordering.API:

dotnet add package MassTransit \
&& dotnet add package MassTransit.RabbitMQ \
&& dotnet add package MassTransit.AspNetCore