Skip to content

Latest commit

 

History

History
43 lines (24 loc) · 1.51 KB

README.md

File metadata and controls

43 lines (24 loc) · 1.51 KB

Arquitetura orientada a eventos (EDA) é um padrão de design de software que permite a uma organização detectar “eventos” ou momentos de negócios importantes (como uma transação, visita ao site, abandono do carrinho de compras, etc.) e agir sobre eles em tempo real ou quase real

Uma blank Solution – AppEventDriven

Dois projetos Web API (SQLite) ApiPostService (consome eventos)
ApiUserService (publica mensagens)

Pacotes nugtes: Microsoft.EntityFrameworkCore.Sqlite RabbitMQ.Client Newtonsoft.Json Swashbuckle.AspNetCore

Objetivo: Consumir eventos do RabbitMQ na api ApiPostService que serão publicados a partir da api ApiUserService

RabbitMQ no Docker: docker run -d
-p 15672:15672 -p 5672:5672 --hostname my-rabbit --name mac-rabbit rabbitmq:3-management

Roteiro para testar a implementação:

1 - Invocar ApiUserService e adicionar um usuário ao banco de dados do users.db�

  • O serviço criará um evento que ApiPostService vai consumir e adicionará o usuário em posts.db

2 - Acessar ApiPostService e adicionar um post para o usuário que foi incluído

3 - Em ApiPostService e carregar o post (GET) e o usuário do banco de dados de posts.db

4 - Chamar ApiUserService e alterar o nome do usuário incluído�

  • O serviço criará um evento que ApiPostService consome e atualizando o nome do usuário em posts.db

5 - Invocar ApiPostService e carregar o post (GET) e o usuário renomeado em posts.db