Conceito e mecanismo
A extração gradual de capacidades pode reduzir o tamanho de cada mudança, mas cria um período com dois sistemas. O padrão Strangler Fig usa encaminhamento para transferir funcionalidades por etapas. Define que sistema aceita cada escrita e como os restantes recebem o estado necessário. Reverter uma rota não desfaz dados já escritos no novo sistema. A compatibilidade deve abranger APIs, eventos, dados e versões em coexistência. Uma camada de adaptação pode traduzir significados diferentes do legado para o novo modelo, sem espalhar códigos antigos por todos os serviços. Essa camada tem custo operacional, latência e responsabilidade de manutenção que devem entrar no plano.
Aplicação guiada
Num caso fictício, a publicação de relatórios passa para um serviço novo enquanto o cálculo permanece no legado. Antes da mudança, identifica consumidores batch, capacidade, observabilidade, alarmes, retenção de dados e critérios de retorno. Durante a coexistência, preserva campos usados pela versão anterior até haver evidência de migração. Uma release com testes unitários verdes pode ainda quebrar um consumidor noturno que não executou. A passagem para APS inclui runbook, mapa de dependências, responsáveis, forma de consultar operações pendentes e procedimentos de reconciliação. Só planeia a desativação quando funcionalidades, consumidores, dados e recuperação deixarem de depender do componente antigo; poupança prevista não substitui essa evidência.
Rollback de tráfego precisa de uma decisão separada sobre escritas já aceites.
Armadilhas comuns
Encaminhamento como reversão de dados; testes do produtor como cobertura de consumidores; desativação baseada só em tráfego diurno.
Tópicos relacionados: Fronteiras e contratos · Dados e transações distribuídas · Resiliência e carga
Entrega também a capacidade de operar, recuperar e evoluir o serviço.
Referência: Strangler Fig pattern · Microservice architecture patterns and scoped platform examples; primary guidance consulted 2026-09-30