SlideShare uma empresa Scribd logo
1 de 25
COMO EVOLUÍMOS DE UMA ARQUITETURA PONTO A
PONTO PARA UM BARRAMENTO DE MENSAGERIA
USANDO RABBITMQ?
FELIPE CAPUTO
/caputodev
/caputodev
ERA UMA VEZ...
BARRAMENTO DE
INTEGRAÇÕES
ONDE ERRAMOS E O QUE
APRENDEMOS?
PARA ONDE VAMOS?
...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.
ERA UMA VEZ...
PONTO A PONTOSistema de
pedidos
Sistema de
faturamento
Sistema de
estoque
Sistema
fiscal
Integração
transportadora
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
TECNOLOGIAS
Tecnologia agnóstica
Facilmente adaptável
Escalável
Operações atômicas
BARRAMENTO DE INTEGRAÇÕES
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
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
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
BARRAMENTO DE INTEGRAÇÕES
Operações paralelas e
concorrentes
CONCORRÊNCIA E PARALELISMO
OP 1 OP 2
OP 1 OP 2
OP 3 OP 1
OP 2 OP 1
OP 3 OP 1
BARRAMENTO DE INTEGRAÇÕES
ObterDados ValidarFechamento BaixarEstoque
NecessidadeCompraEmitirNotaDespacharItens
NotificarCliente
NA PRÁTICA...
BARRAMENTO DE INTEGRAÇÕES
ObterDados ValidarFechamento BaixarEstoque
NecessidadeCompraEmitirNotaDespacharItens
NotificarCliente
DIVIDINDO AS OPERAÇÕES...
BARRAMENTO DE INTEGRAÇÕES
BARRAMENTO DE INTEGRAÇÕES
Fila: Fechar pedido Fila: Baixar estoque
Fila: Erro ao fechar
pedido
Mensagem de erro
Mensagem
Original
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
BARRAMENTO DE INTEGRAÇÕES
DESVANTAGENS
MAIOR
COMPLEXIDADE DE
GESTÃO DE
OPERAÇÕES
CONTROLES DE
STATUS EM ITENS DE
OPERAÇÕES
PARALELAS
ADAPTAÇÃO DO
PRODUTO
ONDE ERRAMOS?
1
Administração manual de
containers
3 Não versionamento de
mensagens
4Elastic como storage
2Índice único no Elastic
O QUE APRENDEMOS?
O QUE FIZEMOS?
SERVIÇOS EM
CONTAINERS
DOCKER
MENSAGENS
RASTREÁVEIS
TESTES END2END
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
FELIPE CAPUTO
/caputodev
/caputodev
OBRIGADO!

Mais conteúdo relacionado

Semelhante a Como evoluímos de uma arquitetura ponto a ponto para um barramento de mensageria usando RabbitMQ

Itg1009 Informix Sql Ms Traduzido
Itg1009 Informix Sql Ms TraduzidoItg1009 Informix Sql Ms Traduzido
Itg1009 Informix Sql Ms TraduzidoAlexandre Marini
 
GAESI - Gestão em Automação e TI - 12th CONTECSI
GAESI - Gestão em Automação e TI - 12th CONTECSI GAESI - Gestão em Automação e TI - 12th CONTECSI
GAESI - Gestão em Automação e TI - 12th CONTECSI TECSI FEA USP
 
TradeTech Brazil 2011 - O Desafio Da Latencia
TradeTech Brazil 2011 - O Desafio Da LatenciaTradeTech Brazil 2011 - O Desafio Da Latencia
TradeTech Brazil 2011 - O Desafio Da LatenciaJose Ricardo Maia Moraes
 
Workshop sobre Cloud Computing
Workshop sobre Cloud ComputingWorkshop sobre Cloud Computing
Workshop sobre Cloud ComputingArtsoft Sistemas
 
Redes industriais a informática aplicada no chão das fábricas
Redes industriais   a informática aplicada no chão das fábricasRedes industriais   a informática aplicada no chão das fábricas
Redes industriais a informática aplicada no chão das fábricasWilson Mathias Pereira Florentino
 
TDC2018SP | Trilha Serveless - Pra que SERVErless?
TDC2018SP | Trilha Serveless - Pra que SERVErless?TDC2018SP | Trilha Serveless - Pra que SERVErless?
TDC2018SP | Trilha Serveless - Pra que SERVErless?tdc-globalcode
 
Hexagonal Rails
Hexagonal RailsHexagonal Rails
Hexagonal RailsLuiz Costa
 
Mulltipla conecta mercos_omie_042020
Mulltipla conecta mercos_omie_042020Mulltipla conecta mercos_omie_042020
Mulltipla conecta mercos_omie_042020Claudio Donetti
 
Microservices: uma abordagem para arquitetura de aplicações (Devcamp 2015)
Microservices: uma abordagem para arquitetura de aplicações (Devcamp 2015)Microservices: uma abordagem para arquitetura de aplicações (Devcamp 2015)
Microservices: uma abordagem para arquitetura de aplicações (Devcamp 2015)Tiago Marchetti Dolphine
 
Apresentação Minerva
Apresentação MinervaApresentação Minerva
Apresentação MinervaPWD AIDC
 
TDC2018FLN | Trilha Arquitetura - Architecting for Resilience
TDC2018FLN | Trilha Arquitetura - Architecting for ResilienceTDC2018FLN | Trilha Arquitetura - Architecting for Resilience
TDC2018FLN | Trilha Arquitetura - Architecting for Resiliencetdc-globalcode
 
Architecting For Resilience
Architecting For ResilienceArchitecting For Resilience
Architecting For ResilienceFabiano Modos
 

Semelhante a Como evoluímos de uma arquitetura ponto a ponto para um barramento de mensageria usando RabbitMQ (20)

Itg1009 Informix Sql Ms Traduzido
Itg1009 Informix Sql Ms TraduzidoItg1009 Informix Sql Ms Traduzido
Itg1009 Informix Sql Ms Traduzido
 
GAESI - Gestão em Automação e TI - 12th CONTECSI
GAESI - Gestão em Automação e TI - 12th CONTECSI GAESI - Gestão em Automação e TI - 12th CONTECSI
GAESI - Gestão em Automação e TI - 12th CONTECSI
 
Solução RFid logístico
Solução RFid logísticoSolução RFid logístico
Solução RFid logístico
 
Rockwell
RockwellRockwell
Rockwell
 
TradeTech Brazil 2011 - O Desafio Da Latencia
TradeTech Brazil 2011 - O Desafio Da LatenciaTradeTech Brazil 2011 - O Desafio Da Latencia
TradeTech Brazil 2011 - O Desafio Da Latencia
 
Nova apresentação delphi
Nova apresentação delphiNova apresentação delphi
Nova apresentação delphi
 
Workshop sobre Cloud Computing
Workshop sobre Cloud ComputingWorkshop sobre Cloud Computing
Workshop sobre Cloud Computing
 
Redes industriais a informática aplicada no chão das fábricas
Redes industriais   a informática aplicada no chão das fábricasRedes industriais   a informática aplicada no chão das fábricas
Redes industriais a informática aplicada no chão das fábricas
 
TDC2018SP | Trilha Serveless - Pra que SERVErless?
TDC2018SP | Trilha Serveless - Pra que SERVErless?TDC2018SP | Trilha Serveless - Pra que SERVErless?
TDC2018SP | Trilha Serveless - Pra que SERVErless?
 
Banco de Dados 2: Controle de Concorrência
Banco de Dados 2: Controle de ConcorrênciaBanco de Dados 2: Controle de Concorrência
Banco de Dados 2: Controle de Concorrência
 
Hexagonal Rails
Hexagonal RailsHexagonal Rails
Hexagonal Rails
 
Mulltipla conecta mercos_omie_042020
Mulltipla conecta mercos_omie_042020Mulltipla conecta mercos_omie_042020
Mulltipla conecta mercos_omie_042020
 
Redes de computador
Redes de computadorRedes de computador
Redes de computador
 
Monolith - An epic journey
Monolith - An epic journeyMonolith - An epic journey
Monolith - An epic journey
 
Microservices: uma abordagem para arquitetura de aplicações (Devcamp 2015)
Microservices: uma abordagem para arquitetura de aplicações (Devcamp 2015)Microservices: uma abordagem para arquitetura de aplicações (Devcamp 2015)
Microservices: uma abordagem para arquitetura de aplicações (Devcamp 2015)
 
Apresentação Minerva
Apresentação MinervaApresentação Minerva
Apresentação Minerva
 
Sala de baterias
Sala de bateriasSala de baterias
Sala de baterias
 
TDC2018FLN | Trilha Arquitetura - Architecting for Resilience
TDC2018FLN | Trilha Arquitetura - Architecting for ResilienceTDC2018FLN | Trilha Arquitetura - Architecting for Resilience
TDC2018FLN | Trilha Arquitetura - Architecting for Resilience
 
Architecting For Resilience
Architecting For ResilienceArchitecting For Resilience
Architecting For Resilience
 
Guia cameras ip
Guia cameras ipGuia cameras ip
Guia cameras ip
 

Como evoluímos de uma arquitetura ponto a ponto para um barramento de mensageria usando RabbitMQ

Notas do Editor

  1. Integração Ponto a Ponto Objetivos da nova arquitetura Concorrência e Paralelissmo Novo modelo de operação Erros e Recuperação Próximos passos
  2. INCLUIR DOCKER E S3
  3. Permite que uma corte do judiciário conecte a outra, de primeiro ou segundo grau independente do sistema utilizado.
  4. Maior complexidade de gestão de operações Necessidade de controles de status em itens de operações paralelas. Adaptação do produto e desenvolvedores
  5. Logs Centralizados no Elastic Dashboard com extração do elastic
  6. Serviços em containers Mensagens Rastreaveis Main Operation Id Parent Opertation Id Operation Id Testes End2End