Implementar comunição assíncrona com RabbitMQ e MassTransit para "Checkout Order" entre os microserviços Basket e Ordering.
Adiciona a imagem oficial do RabbitMQ no docker-compose.
- MassTransit
- MassTransit.RabbitMQ
- MassTransit.AspNetCore
- REST API principles, CRUD operations
- Add Project Reference - EventBus.Messages
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
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
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
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