SlideShare uma empresa Scribd logo
1 de 16
GUIA PRÁTICO DE COMUNICAÇÃO
PARA MICROSERVICES
Fazendo boas escolhas
#Microservices
QUEM SOU EU?
• Victor Osório
• Senior Software Engineer -
Openet
• twitter.com/vepo
• github.com/vepo
• Vacinado! 🐊🐊🐊🐊
COMO AS
PESSOAS
ESCOLHEM?
Guidelines?
Hype?
Experiência anterior?
Jogando dados?
Tradeoffs
COMO DEVERIAM ESCOLHER?
Analisar detalhadamente a situação
Analisar detalhadamente a solução
Se apaixonar pelo problema e não pela solução
Levantar todas as vantagens/desvantagens
Decidir
TRADE OFF
Não há bala de prata
Nenhuma solução se encaixará perfeitamente
Uma solução será mais adequada
A solução errada trará complexidade
ESTILOS
ARQUITETURAIS
A escolha do método de comunicação
reflete a escolha arquitetural do seu
ecossistema de microsserviços
Estilo Arquitetural é um conjunto de
regras que devem ser aplicadas a
construção da solução
Leia: Architectural Styles and the
Design of Network-based Software
Architectures
SOLUÇÕES PARA
COMUNICAÇÃO DE
MICROSERVICES
REST
gRPC
Mensageria
Kafka
etc...
REST
Orientado a Recursos
Escalável (Stateless)
Padronizado (API)
Request-Response
Sincrono
GRPC
Orientado a serviços
Full duplex
Não precisa conhecer o protocolo
Compartilhado por arquivos Protobuf
GRPC
X
REST
• Broadcasting?
• Peer2Peer
• Acoplamento
Ambos são HTTP
COMO DESACOPLAR?
E se eu não quero conhecer o outro lado?
MENSAGERIA
• Sistemas Orientado a Eventos
• Um serviço emite eventos para
representar alteração de
estado
• Quando um sistema deseja
informações, subscreve um
canal
SOLUÇÕES
RabbitMQ
Cloud Provider Messaging
Apache Kakfa?!?!!?
APACHE
KAFKA
• Streaming Platform
Não apenas Pub/Sub
• Consumer
• Producer
• Connectors
• Streamer
Elementos
• Controle de offset
• Controle de persistência
• Cleanup
Fine Tunning
• Orientado a escrita
Escalável
QUANDO NÃO
USAR KAFKA!
Dificil
manutenção
Managed
Apache Kafka
Soluções
simples
Todo mundo
conhece
todo mundo
CONHEÇA SEU PROBLEMA!
Ache uma solução que o resolva!

Mais conteúdo relacionado

Semelhante a Guia prático de comunicação para Microsserviços

APSI 2 aulas - padroes arquiteturais - camadas PROF.TARCIANE
APSI 2   aulas  - padroes arquiteturais - camadas PROF.TARCIANEAPSI 2   aulas  - padroes arquiteturais - camadas PROF.TARCIANE
APSI 2 aulas - padroes arquiteturais - camadas PROF.TARCIANEFco Edilson Nascimento
 
Disciplina Gerencia de Projetos - Prof. Rogerio P C do Nascimento, PhD
Disciplina Gerencia de Projetos - Prof. Rogerio P C do Nascimento, PhDDisciplina Gerencia de Projetos - Prof. Rogerio P C do Nascimento, PhD
Disciplina Gerencia de Projetos - Prof. Rogerio P C do Nascimento, PhDRogerio P C do Nascimento
 
Indicadores Rede Humaniza SUS
Indicadores Rede Humaniza SUSIndicadores Rede Humaniza SUS
Indicadores Rede Humaniza SUSDalton Martins
 
Guru SP: Decodificando o code review
Guru SP: Decodificando o code reviewGuru SP: Decodificando o code review
Guru SP: Decodificando o code reviewElaine Naomi
 
Certificações em Arquitetura de TI
Certificações em Arquitetura de TICertificações em Arquitetura de TI
Certificações em Arquitetura de TIMarcelo Sávio
 
Aula 01 - Metodologia Científica: projetos, ciência e redes de conversação
Aula 01 - Metodologia Científica: projetos, ciência e redes de conversaçãoAula 01 - Metodologia Científica: projetos, ciência e redes de conversação
Aula 01 - Metodologia Científica: projetos, ciência e redes de conversaçãoDalton Martins
 
Arquitetura evolutiva - DNAD 2013
Arquitetura evolutiva - DNAD 2013Arquitetura evolutiva - DNAD 2013
Arquitetura evolutiva - DNAD 2013Denis Ferrari
 
Jukebox Webpanel Datasul
Jukebox Webpanel DatasulJukebox Webpanel Datasul
Jukebox Webpanel Datasuldatasul20
 
Jukebox Webpanel
Jukebox WebpanelJukebox Webpanel
Jukebox Webpanelguesta3ecbb
 
Aula Teste Fatec Engenharia de Software III
Aula Teste  Fatec Engenharia de Software IIIAula Teste  Fatec Engenharia de Software III
Aula Teste Fatec Engenharia de Software IIIDalton Martins
 
Ontologias - Para quê e para quem?
Ontologias - Para quê e para quem?Ontologias - Para quê e para quem?
Ontologias - Para quê e para quem?Cristiane Mendes
 
Proposta de um Processo de Arquitetura Corporativa (Enterprise Architecture)
Proposta de um Processo de Arquitetura Corporativa (Enterprise Architecture)Proposta de um Processo de Arquitetura Corporativa (Enterprise Architecture)
Proposta de um Processo de Arquitetura Corporativa (Enterprise Architecture)Rafael Targino
 
Comunicação Digital: O Sistemas e as Estratégias
Comunicação Digital: O Sistemas e as EstratégiasComunicação Digital: O Sistemas e as Estratégias
Comunicação Digital: O Sistemas e as EstratégiasMarcus Vinicius Bonfim
 

Semelhante a Guia prático de comunicação para Microsserviços (20)

APSI 2 aulas - padroes arquiteturais - camadas PROF.TARCIANE
APSI 2   aulas  - padroes arquiteturais - camadas PROF.TARCIANEAPSI 2   aulas  - padroes arquiteturais - camadas PROF.TARCIANE
APSI 2 aulas - padroes arquiteturais - camadas PROF.TARCIANE
 
Disciplina Gerencia de Projetos - Prof. Rogerio P C do Nascimento, PhD
Disciplina Gerencia de Projetos - Prof. Rogerio P C do Nascimento, PhDDisciplina Gerencia de Projetos - Prof. Rogerio P C do Nascimento, PhD
Disciplina Gerencia de Projetos - Prof. Rogerio P C do Nascimento, PhD
 
Métricas de Código
Métricas de CódigoMétricas de Código
Métricas de Código
 
Indicadores Rede Humaniza SUS
Indicadores Rede Humaniza SUSIndicadores Rede Humaniza SUS
Indicadores Rede Humaniza SUS
 
Guru SP: Decodificando o code review
Guru SP: Decodificando o code reviewGuru SP: Decodificando o code review
Guru SP: Decodificando o code review
 
Certificações em Arquitetura de TI
Certificações em Arquitetura de TICertificações em Arquitetura de TI
Certificações em Arquitetura de TI
 
Aula 01 - Metodologia Científica: projetos, ciência e redes de conversação
Aula 01 - Metodologia Científica: projetos, ciência e redes de conversaçãoAula 01 - Metodologia Científica: projetos, ciência e redes de conversação
Aula 01 - Metodologia Científica: projetos, ciência e redes de conversação
 
Arquitetura evolutiva - DNAD 2013
Arquitetura evolutiva - DNAD 2013Arquitetura evolutiva - DNAD 2013
Arquitetura evolutiva - DNAD 2013
 
O que é código bonito?
O que é código bonito?O que é código bonito?
O que é código bonito?
 
Expertise Social Media Research - out 2013
Expertise   Social Media Research - out 2013Expertise   Social Media Research - out 2013
Expertise Social Media Research - out 2013
 
PHPZEIRO: Adote um framework
PHPZEIRO: Adote um frameworkPHPZEIRO: Adote um framework
PHPZEIRO: Adote um framework
 
Trabalhar com web design
Trabalhar com web designTrabalhar com web design
Trabalhar com web design
 
Jukebox Webpanel Datasul
Jukebox Webpanel DatasulJukebox Webpanel Datasul
Jukebox Webpanel Datasul
 
Jukebox Webpanel
Jukebox WebpanelJukebox Webpanel
Jukebox Webpanel
 
Aula Teste Fatec Engenharia de Software III
Aula Teste  Fatec Engenharia de Software IIIAula Teste  Fatec Engenharia de Software III
Aula Teste Fatec Engenharia de Software III
 
6 Principios arquitetura de dados moderna
6 Principios arquitetura de dados moderna6 Principios arquitetura de dados moderna
6 Principios arquitetura de dados moderna
 
Metricas nas redes sociais
Metricas nas redes sociaisMetricas nas redes sociais
Metricas nas redes sociais
 
Ontologias - Para quê e para quem?
Ontologias - Para quê e para quem?Ontologias - Para quê e para quem?
Ontologias - Para quê e para quem?
 
Proposta de um Processo de Arquitetura Corporativa (Enterprise Architecture)
Proposta de um Processo de Arquitetura Corporativa (Enterprise Architecture)Proposta de um Processo de Arquitetura Corporativa (Enterprise Architecture)
Proposta de um Processo de Arquitetura Corporativa (Enterprise Architecture)
 
Comunicação Digital: O Sistemas e as Estratégias
Comunicação Digital: O Sistemas e as EstratégiasComunicação Digital: O Sistemas e as Estratégias
Comunicação Digital: O Sistemas e as Estratégias
 

Último

ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docxATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx2m Assessoria
 
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docxATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx2m Assessoria
 
Padrões de Projeto: Proxy e Command com exemplo
Padrões de Projeto: Proxy e Command com exemploPadrões de Projeto: Proxy e Command com exemplo
Padrões de Projeto: Proxy e Command com exemploDanilo Pinotti
 
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docxATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx2m Assessoria
 
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docxATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx2m Assessoria
 
Boas práticas de programação com Object Calisthenics
Boas práticas de programação com Object CalisthenicsBoas práticas de programação com Object Calisthenics
Boas práticas de programação com Object CalisthenicsDanilo Pinotti
 

Último (6)

ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docxATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx
 
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docxATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
 
Padrões de Projeto: Proxy e Command com exemplo
Padrões de Projeto: Proxy e Command com exemploPadrões de Projeto: Proxy e Command com exemplo
Padrões de Projeto: Proxy e Command com exemplo
 
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docxATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
 
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docxATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
 
Boas práticas de programação com Object Calisthenics
Boas práticas de programação com Object CalisthenicsBoas práticas de programação com Object Calisthenics
Boas práticas de programação com Object Calisthenics
 

Guia prático de comunicação para Microsserviços