Please enable JavaScript.
Coggle requires JavaScript to display documents.
Arquitetura de microserviços - Coggle Diagram
Arquitetura de microserviços
Ecossistema
É onde todos os microsserviços são construídos
Microsserviços são separados de toda infraestrutura
camadas
Hardware
Servidores
Monitoramento de servidores
Banco de dados
Comunicação
HTTP + REST
Será definido um protocolo para que faça a comunicação
Dados passados em formato padronizado
Plataforma de aplicação
independente de microsserviços
Contém ferramentas e serviços internos
Ferramenta de teste
log em nível de microsserviços
Microsserviços
é separado de tudo, menos das configurações específicas para uso de ferramentas
Desafios organizacionais
Lei de Conway Reversa
Mudança da estrutura organizacional que tende a falta de comunicação entre equipes.
"As estruturas de comunicação e organizacionais da empresa será determinada pela arquitetura de um sistema ."
Estrutura
Equipes devem ser pequenas isoladas e independentes
Desenvolvedores isolados porém fazem muito bem sua tarefa
déficit de comunicação de equipes de microsserviços entre si e com a infraestrutura
Dispersão técnica
Quando a estrutura e a a equipe aumenta, a liberdade de cada desenvolvedor escolher o que usar fica impraticável
Se em uma equipe grande cada desenvolvedor escolher uma linguagem diferente para cada microsserviço, fica complicado gerenciar.
Falha do sistema
Componentes individuais falharão com frequência
Testar muito é uma maneira de "prever" a falha mas isso não dá certeza.
Competição por recursos
Recursos das empresas são limitados
Ecossistema muito grande vai exigir mais recursos, o que gera competição entre equipes por isso.
Aplicações
Microsserviço responsável por dados do cliente
Contém endpoints como:
get_costumer_information (obter informações do cliente)
update_customer_information (atualizar informações do
cliente)
delete_customer_information (apagar informações do cliente)
Microsserviço do banco do Brasil para gerar boletos
Contém endpoints como:
post_gerar_boleto_com_pix
get_lista_boletos_gerados
update_dados_boleto
Motivação
Reduz o tempo de desenvolvimento
Várias equipes podem trabalhar simultaneamente.
liberdade ao programador para usar a linguagem que desejar
Diferenças de monolito e microsserviços
Monolito é um sistema embarcado, tudo em um só
Microsserviços sistema é dividido em vários pontos
Aplicação: pix
Monolito é mais simples, se o sistema cai, nada funciona
Aplicação: calculadora
Monolito possui menos recursos