Compatibilidade entre versões
Durante um lançamento gradual, versões diferentes podem coexistir. Avalia contratos de API, esquema de dados, serialização de sessões, mensagens e clientes. “Um nó de cada vez” reduz o alcance inicial, mas não garante compatibilidade. Planeia como retirar tráfego, aguardar ou tratar pedidos em curso, atualizar, validar e reintegrar cada membro.
Configuração também é uma entrega
Regista artefacto, versão, parâmetros e referências a segredos sem expor os valores. Uma aplicação idêntica com datasource ou timeout diferente pode ter comportamento diferente. Usa uma origem controlada para a configuração e confirma o estado efetivamente carregado. Evita correções manuais permanentes que deixam cada membro com uma versão distinta do desenho.
Validar o efeito e a estabilidade
Compara erro, latência, throughput, pools, filas e recursos com a referência anterior, sob tráfego comparável. Define limites e janela de observação antes do lançamento. A validação deve incluir percursos críticos e, quando aplicável, consistência de dados. Se for necessário reverter, considera o estado persistente e a compatibilidade entre versões; nem toda a mudança pode ser desfeita apenas voltando ao binário antigo.
Aplicação no trabalho
Antes do primeiro membro de uma release, define quem decide continuar, parar ou recuperar. A comparação deve usar tráfego e operações equivalentes entre canary e referência. Guarda versão e configuração efetivamente carregada, não apenas o registo de distribuição. Uma reversão exige verificar dados, mensagens e sessões já produzidos pela versão nova; repor o binário antigo pode ser insuficiente.
Um primeiro membro atualizado recebe 10% do tráfego. A taxa de erro sobe apenas nesse membro e o pool de ligações atinge o máximo. A canary permitiu limitar o impacto; a próxima decisão usa os critérios de paragem e a evidência, em vez de acelerar a atualização dos restantes.
Armadilhas comuns
Expandir canary apesar de critérios falhados; assumir rollback apenas pelo binário.
Tópicos relacionados: Retries, idempotência e limites · Medir o serviço e localizar a degradação
Uma alteração só está validada quando configuração, tráfego e resultados correspondem aos critérios acordados.
Referência: Canarying releases · DR Middleware 2026.4; HotSpot JDK 25; JDBC 25; PostgreSQL 18; RabbitMQ 4.3; OpenSSL 3.5; explicitly scoped runtime references