Anti Corruption Layer Pattern - Aprenda como este padrão pode ajudar na migração para Microservices

  Рет қаралды 696

Pisani da ArcH

Pisani da ArcH

Күн бұрын

Пікірлер: 7
@MifaelMoraes
@MifaelMoraes Жыл бұрын
Bom Material
@pisanidaarch
@pisanidaarch Жыл бұрын
Top demais, muito obrigado pelo feedback 👊🏻
@ciroformenton
@ciroformenton Жыл бұрын
Excelente material mesmo. Na minha humilde opinião, ACL é algo que tem que ser considerado com parcimônia, exatamente por estes overheads que você comentou - pode custar bem caro no final, e tornar alguns processos mais morosos. POs geralmente não curtem isto pois significa mais tempo de dev.
@ciroformenton
@ciroformenton Жыл бұрын
E complementando, a questão da performance - se for um requisito muito forte, pode até inviabilizar a estratégia.
@pisanidaarch
@pisanidaarch Жыл бұрын
Boa, literalmente precisa se fazer uma analise de prós e contras antes de utilizar. Muito obrigado pela participação 👊
@arozendojr
@arozendojr Жыл бұрын
(texto ficou grande, pega intenção 😅😅😅😅) Como faz para manter atualizado os contratos, exemplo, ter um micro serviço cadastra lista de usuários, users, a estrutura tem user nome e idade, todo micro serviço que for usar tem que criar esses objetos para seguir o endpoint, caso o endpoint mude o user para nome,idade, telefone, todo mundo vai ter que modificar seus objetos ou seria melhor criar uma lib models request para facilitar e os outros projetos tem que atualizar lib e fazer outro deploy para todos os projetos que consomem cadastrar lista de usuários ?
@pisanidaarch
@pisanidaarch Жыл бұрын
Fala brother, manter a integridade dos contratos entre microserviços é fundamental para garantir a resiliência e a manutenção do sistema. Vc pode utilizar algumas estratégias e práticas abaixo algumas delas: - Versionamento de APIs: Sempre que fizer uma mudança que não seja retrocompatível na sua API, crie uma nova versão dela. Isso pode ser feito usando URIs diferentes (por exemplo, /v1/users e /v2/users) ou através de headers. Isso permite que os consumidores da API migrem para a nova versão no seu próprio ritmo. - Campos Opcionais: Ao adicionar novos campos, como o "telefone" no seu exemplo, faça-os opcionais inicialmente. Isso garante que os consumidores da API antiga não sejam afetados. - Depreciação de Endpoints: Se você decidir descontinuar um endpoint ou versão da API, comunique aos seus consumidores com antecedência. Como você mencionou, você pode usar headers para informar sobre versões obsoletas. - Documentação e Contratos: Utilize ferramentas como OpenAPI (anteriormente conhecido como Swagger) para documentar suas APIs. Isso permite que os consumidores entendam facilmente as mudanças e atualizações. - Client Libraries: Criar bibliotecas clientes (como você sugeriu com a "lib models request") pode ser uma solução para grandes ecossistemas de microserviços. No entanto, isso também pode introduzir complexidade adicional, pois agora você precisa gerenciar a versão da biblioteca e garantir que ela esteja atualizada em todos os serviços consumidores. - Testes de Compatibilidade: Mantenha um conjunto de testes que verifique a compatibilidade entre os microserviços. Sempre que fizer uma mudança em um serviço, execute esses testes para garantir que nada foi quebrado inadvertidamente. Em resumo, enquanto ferramentas e padrões são vitais, a comunicação eficaz e a gestão cuidadosa das mudanças são igualmente críticas para manter a integridade do sistema à medida que ele evolui, acho que a minha resposta ficou ainda maior, espero ter ajudado 👊
Diagramas para Arquitetos de TI: Quais Usar, Quando e Por Que?
26:03
Pisani da ArcH
Рет қаралды 1,3 М.
She made herself an ear of corn from his marmalade candies🌽🌽🌽
00:38
Valja & Maxim Family
Рет қаралды 18 МЛН
Tuna 🍣 ​⁠@patrickzeinali ​⁠@ChefRush
00:48
albert_cancook
Рет қаралды 148 МЛН
We Attempted The Impossible 😱
00:54
Topper Guild
Рет қаралды 56 МЛН
EPISTEMOLOGI - Haryatmoko
3:53:29
Pustaka Matahari
Рет қаралды 530 М.
Microservices Patterns | Consumer-Driven Contracts
13:52
Pisani da ArcH
Рет қаралды 455
Anti-Corruption Layer Pattern (Padrão da Camada de Anti-Corrupção)
29:47
O que é Big Data - Conceitos básicos
17:58
Bóson Treinamentos
Рет қаралды 169 М.
Kubernetes Crash Course for Absolute Beginners [NEW]
1:12:04
TechWorld with Nana
Рет қаралды 2,9 МЛН
Automatize Qualquer Sistema ou Programa com Python (RPA)
33:15
Hashtag Programação
Рет қаралды 448 М.
She made herself an ear of corn from his marmalade candies🌽🌽🌽
00:38
Valja & Maxim Family
Рет қаралды 18 МЛН