O documento descreve a evolução de uma arquitetura ponto a ponto para um barramento de mensagens usando RabbitMQ. Inicialmente, o sistema precisava consumir serviços complexos de outros sistemas de forma síncrona, mas isso limitava a performance e escalabilidade. A solução foi dividir as operações e executá-las de forma assíncrona e paralela em um barramento de mensagens, melhorando a performance, controle de falhas e flexibilidade do sistema. Desafios incluíram a gestão e controle das operações paralelas e o versionamento e rastreabilidade
4. ...um sistema com regras de negócios complexas que precisava consumir
serviços de alta complexidade de diversos sistemas.
ERA UMA VEZ...
Por um tempo conseguimos manter uma integração síncrona, mas em um
determinado momento, logo após uma resolução judicial, precisamos mergulhar
em um oceano azul e arquitetar uma solução de alta performance,
estável, segura, escalável, deixando nossas aplicações altamente
flexíveis a mudanças.
5. ERA UMA VEZ...
PONTO A PONTOSistema de
pedidos
Sistema de
faturamento
Sistema de
estoque
Sistema
fiscal
Integração
transportadora
6.
7. BARRAMENTO DE INTEGRAÇÕES
1
Operações menores e
atômicas
3 Operações reproduzíveis e
retomáveis
4Simplicidade de evolução
5
Independência (linguagem e
fornecedores) 6
Aumento da
interoperabilidade
2Aumento de performance
ESPECIFICAÇÕES
9. BARRAMENTO DE INTEGRAÇÕES
OP 1 OP 1 OP 1 OP 1 OP 1 OP 2 OP 2 OP 2 OP 3 OP 3
Imagine uma operação composta
por 3 operações menores
Executando esta operação da
forma sequencial tradicional
CONCORRÊNCIA E PARALELISMO
10. BARRAMENTO DE INTEGRAÇÕES
Agora, se estas operações não são
interdependes, poderíamos executá-las
em paralelo
OP 1 OP 1 OP 1 OP 1 OP 1
OP 2 OP 2 OP 2
OP 3 OP 3
CONCORRÊNCIA E PARALELISMO
11. BARRAMENTO DE INTEGRAÇÕES
Se elas não são interdependentes Podem ser divididas e realizadas de
forma concorrente
OPERAÇÕES CONCORRENTES
OP 1 OP 2 OP 1 OP 2 OP 3 OP 1 OP 2 OP 1 OP 3 OP 1
16. BARRAMENTO DE INTEGRAÇÕES
Fila: Fechar pedido Fila: Baixar estoque
Fila: Erro ao fechar
pedido
Mensagem de erro
Mensagem
Original
17. BARRAMENTO DE INTEGRAÇÕES
VANTAGENS
MELHOR CONTROLE
DE FALHAS
REPRODUTIBILIDADE
ATOMICIDADE DE
OPERAÇÕES
GANHO DE
PERFORMANCE EM
DIVERSAS
OPERAÇÕES
ADESÃO ESCALÁVEL
REAPROVEITAMEMEN
TO DE SERVIÇOS
24. PARA ONDE VAMOS?
Suporte a JWT nas
mensagens
Orquestração de containers
(kubernetes)
Automação do
reprocessamento de erros
conhecidos
Validação de mensagens
com Json Schema