# Padroes resiliencia sistemas: 9 tecnicas essenciais

> Padrões de resiliência em sistemas distribuídos compreendem 9 técnicas essenciais para limitar danos quando falhas ocorrem. Essas práticas incluem circuit breakers, retries com backoff, bulkheads, timeouts, fallbacks, redundância, filas, degradação graciosa e observabilidade. A resiliência não previne falhas, mas garante operação contínua e recuperação controlada, mantendo a integridade do sistema sob condições adversas.

*PosUp · Apps e Software · 31 de agosto de 2026 · Patrícia Lemos*

Sistemas distribuidos falham. A resiliencia nao evita a falha, mas limita o dano. Estes 9 padroes ajudam a manter o sistema de pe quando algo da errado.

Sistemas distribuidos falham. Rede instavel, servico lento, banco indisponivel: a lista de possibilidades e longa. Resiliencia nao significa evitar a falha, mas limitar o dano e voltar ao normal rapido. Estes 9 padroes, do mais urgente ao mais estrategico, ajudam a manter o sistema de pe quando algo da errado.

## 1. Retry

A tentativa repetida de uma operacao que falhou por motivo transitorio. Se um servico respondeu com timeout de 500ms, uma segunda tentativa pode funcionar. O cuidado e com o backoff: esperar um tempo crescente entre tentativas evita sobrecarregar o servico ja fragilizado. Sem backoff, o retry vira ataque de negacao de servico.

## 2. Circuit Breaker

Quando um servico falha repetidamente, o circuit breaker interrompe as chamadas por um periodo. Isso evita que o cliente fique esperando por um servico morto e que a falha se propague em cascata. O padrao tem tres estados: fechado, aberto e meio-aberto. A transicao entre eles depende de limiares de falha que voce define.

## 3. Timeout

Toda chamada remota precisa de um limite de tempo. Sem timeout, uma requisicao pode ficar pendente para sempre, consumindo thread e memoria. Um timeout curto demais, porem, descarta respostas lentas mas validas. O valor ideal varia com a latencia normal do servico e precisa ser testado em producao.

## 4. Bulkhead

O padrao bulkhead isola recursos por tipo de chamada. Se o servico de pagamento esta lento, as threads dedicadas a ele se esgotam, mas as do servico de catalogo continuam disponiveis. E como compartimentos separados em um navio: um buraco nao afunda o barco inteiro. Aplicar exige dimensionar pools de conexao ou threads por dependencia.

## 5. Fallback

Quando uma operacao falha, o fallback entrega uma resposta alternativa pre-definida. Um servico de recomendacao pode retornar uma lista padrao quando o modelo de ML esta indisponivel. O fallback nao esconde o erro, mas garante que o usuario receba algo util. Definir o que retornar exige pensar no impacto de cada resposta alternativa.

## 6. Cache

Guardar respostas frequentes em memoria reduz chamadas a servicos lentos ou instaveis. Se o cache esta quente, o sistema responde mesmo quando o servico de origem cai. O risco e servir dados desatualizados. Para dados que mudam pouco, o custo e aceitavel. Para dados criticos, combine cache com validacao periodica.

## 7. Fila

Em vez de processar uma requisicao de forma sincrona, a fila desacopla o produtor do consumidor. Se o consumidor esta lento, as mensagens se acumulam, mas o produtor nao trava. O padrao e util para tarefas que podem ser processadas em segundo plano. A contrapartida: a resposta ao usuario nao e imediata e exige um mecanismo de consulta posterior.

## 8. Health Check

Um endpoint de saude permite que o orquestrador saiba se uma instancia esta apta a receber trafego. Sem health check, o balanceador continua enviando requisicoes para uma instancia morta. O check precisa ser honesto: verificar dependencias reais, nao apenas responder 200. Um health check que ignora o banco indisponivel da uma falsa sensacao de seguranca.

## 9. Redundancia

Ter mais de uma instancia do mesmo servico em zonas de disponibilidade diferentes. Se uma zona cai, a outra assume. E o padrao mais simples de entender e o mais caro de implementar. Exige replicacao de dados e estrategia de failover. Para servicos criticos, o custo se justifica. Para servicos internos, talvez nao.

## Qual escolher?

Comece pelos tres primeiros: retry, circuit breaker e timeout. Eles resolvem a maioria das falhas transitorias com baixo custo de implementacao. Depois, avalie bulkhead e fallback para isolar e mitigar falhas parciais. Cache e fila entram quando ha ganho claro de performance ou desacoplamento. Health check e redundancia sao obrigatorios em servicos que nao podem parar.

## FAQ

### O que e resiliencia em sistemas distribuidos?

Resiliencia e a capacidade de um sistema continuar operando, mesmo que de forma degradada, quando um componente falha. Nao se trata de evitar erros, mas de limitar o impacto deles no usuario final.

### Qual a diferenca entre retry e circuit breaker?

Retry tenta a mesma operacao novamente, esperando que a falha seja transitoria. Circuit breaker interrompe as chamadas apos um limite de falhas, para dar tempo ao servico de se recuperar. Eles se complementam: retry cuida do curto prazo, circuit breaker do longo prazo.

### Quando usar bulkhead?

Use bulkhead quando uma dependencia lenta pode esgotar recursos compartilhados e afetar outras funcionalidades. E essencial em sistemas com servicos de criticidade diferente, como pagamento e catalogo, onde a falha de um nao deve derrubar o outro.

### Fallback substitui o erro?

Nao. Fallback entrega uma resposta alternativa para o usuario, mas o erro continua existindo e precisa ser registrado e monitorado. A resposta alternativa e uma medida de contingencia, nao uma solucao para a causa raiz.

### Como medir o impacto dos padroes de resiliencia?

Monitore a taxa de sucesso, a latencia e a disponibilidade antes e depois de aplicar cada padrao. Uma reducao no tempo de resposta e no numero de timeouts indica que a tecnica esta funcionando. Sem medicao, a resiliencia vira achismo.

### Qual padrao implementar primeiro?

Retry, circuit breaker e timeout. Eles atacam as falhas mais comuns em sistemas distribuidos e exigem menos mudanca na arquitetura. O custo de implementacao e baixo e o ganho imediato em estabilidade justifica comecar por eles.

---

Fonte (canonical): https://posup.com.br/apps-e-software/padroes-resiliencia-sistemas-9-tecnicas-essenciais/
