Escolar Documentos
Profissional Documentos
Cultura Documentos
A A A
Auth User P
Order P
Production
P
I Service I Service I Service
Logs
DB DB DB
API
Gateway
client
IDs
A
P
Payment A
Delivery
P
I Service I Service
DB DB
Service Config
Registry Server
youtube.com/michellibrito @brito_michelli
#decoderweek
youtube.com/michellibrito @brito_michelli
#decoderweek
youtube.com/michellibrito @brito_michelli
#decoderweek
Broker Pattern
DB DB
broker
Utilizado nas
comunicações
assíncronas via
mensageria.
youtube.com/michellibrito @brito_michelli
#decoderweek
Broker Pattern
message
DB
Order via event
Service
Vantagens Payment
DB Service
- Menor acoplamento broker
- Maior disponibilidade
DB
Pontos de Atenção
Cuidado com os
desdobramentos de eventos
youtube.com/michellibrito @brito_michelli
#decoderweek
Mediator Pattern
Production
Service
DB
DB DB
broker
youtube.com/michellibrito @brito_michelli
#decoderweek
saveUser()
Vantagens DB broker
Delivery
Menor acoplamento de Service
responsabilidades
DB Notificação através de um
Pontos de Atenção evento, onde os serviços que
Pode gerar uma sobrecarga de precisam processar esse
evento devem recorrer ao
sub-consultas na arquitetura serviço primário para obter o
estado atual do recurso.
youtube.com/michellibrito @brito_michelli
#decoderweek
youtube.com/michellibrito @brito_michelli
#decoderweek
Saga Pattern
Sequencia de transações
locais que envolvem
múltiplos Microservices
quando temos dados
distribuídos na arquitetura.
youtube.com/michellibrito @brito_michelli
#decoderweek
Saga Pattern
Compensação de
dados do estado
atual dos recursos.
youtube.com/michellibrito @brito_michelli
#decoderweek
Production
order
Service
event
channel
POST createTicket()
DB
new order A
Order confirmTicket()
P
I Service production completeTicket()
event
channel
DB createOrder()
Payment
confirmOrder() Service
payment
event
completeOrder() channel
Temos uma DB makePayment()
sequencia de broker
eventos em Saga
com Coreografia.
youtube.com/michellibrito @brito_michelli
#decoderweek
Production
order
Service
event
channel
POST createTicket()
DB
new order A
Order cancelTicket()
P
I Service production
Vantagens event
channel
youtube.com/michellibrito @brito_michelli
#decoderweek
Production
production
Service
command
channel
POST createTicket()
DB
new order A
Order confirmTicket()
P
I Service order completeTicket()
command
channel
Payment
orquestrador payment
Service
command
channel
Temos uma DB makePayment()
createOrder() broker
sequencia de DB
comandos em Saga confirmOrder()
com Orquestração. completeOrder()
youtube.com/michellibrito @brito_michelli
#decoderweek
Production
production
Service
command
channel
POST createTicket()
DB
new order A
Order cancelTicket()
P
Vantagens I Service order
command
channel
- Melhor divisão responsabilidades
- Melhor entendimento da arquitetura Payment
payment
Service
Pontos de Atenção command
channel
youtube.com/michellibrito @brito_michelli
#decoderweek
A A A
Auth User P
Order P
Production
P
I Service I Service I Service
request
/reports DB DB DB
A
API P
API
Gateway I Composer
client response
A
P
Payment A
Delivery
P
I Service I Service
DB DB
Service Config
Registry Server
API Composition pode ser
implementado no client, gateway
ou em um Composer Microservice.
youtube.com/michellibrito @brito_michelli
#decoderweek
A A A
Auth User P
Order P
Production
P
I Service I Service I Service
Logs
DB DB DB
API
Gateway
client
IDs
A
P
Payment A
Delivery
P
I Service I Service
DB DB
Service Config
Registry Server
youtube.com/michellibrito @brito_michelli
#decoderweek
Registry Passo 1
DB DB
youtube.com/michellibrito @brito_michelli
#decoderweek
Registry Passo 1
A Auth User
A Payment A PAuth User
P P I Service
I Service I Service
DB DB
Service De tempo em
Registry tempo os clients
enviam as suas
atualizações para
o Service Registry.
youtube.com/michellibrito @brito_michelli
#decoderweek
Discovery Passo 2
DB DB
youtube.com/michellibrito @brito_michelli
#decoderweek
A A A
Auth User P
Order P
Production
P
I Service I Service I Service
Logs
DB DB DB
API
Gateway
client
IDs
A
P
Payment A
Delivery
P
I Service I Service
DB DB
Service Config
Registry Server
youtube.com/michellibrito @brito_michelli
#decoderweek
request request
A Payment A Auth User
P P
I Service I Service
client response response
DB DB
youtube.com/michellibrito @brito_michelli
#decoderweek
request request
A Payment A Auth User
P P
I Service I Service
client response response
DB DB
youtube.com/michellibrito @brito_michelli
#decoderweek
request request
A Payment A Auth User
P P
I Service I Service
client response response
DB DB
youtube.com/michellibrito @brito_michelli
#decoderweek
DB DB
IDs
youtube.com/michellibrito @brito_michelli
#decoderweek
A A A
Auth User P
Order P
Production
P
I Service I Service I Service
Logs
DB DB DB
API
Gateway
client
IDs
A
P
Payment A
Delivery
P
I Service I Service
DB DB
Service Config
Registry Server
youtube.com/michellibrito @brito_michelli
#decoderweek
Logs
youtube.com/michellibrito @brito_michelli
#decoderweek
DB DB
Logs
youtube.com/michellibrito @brito_michelli
#decoderweek
Port
Adapter Adapter
Port
Application Core
Port
youtube.com/michellibrito @brito_michelli
#decoderweek
Interface
Service
Queue Consumer
Services
Domain
Interface
Service
Database
Outbound adapters Persistence
youtube.com/michellibrito @brito_michelli
#decoderweek
Arquitetura Hexagonal
trata-se da dissociação da lógica de negócio
das tecnologias e frameworks, preocupando-se
principalmente com a SUSTENTABILIDADE.
youtube.com/michellibrito @brito_michelli
#decoderweek
Interface
Service
Queue Consumer Elastic Email Elastic
Interface
Smtp
Services
Domain
Interface
Service
Database
Outbound adapters Persistence
youtube.com/michellibrito @brito_michelli
#decoderweek
Interface
Service
Queue Consumer Elastic Email Elastic
Interface
Smtp
Services SES Amazon AWS
Domain
Interface
Service
Database
Outbound adapters Persistence
youtube.com/michellibrito @brito_michelli
#decoderweek
youtube.com/michellibrito @brito_michelli