terça-feira, 01 de setembro de 2026 · Edição online
PosUp
PosUp

Health Checks em Microsserviços: Guia Passo a Passo

ResumoHealth Checks em Microsserviços são mecanismos de monitoramento que verificam a disponibilidade e a saúde de cada serviço. A implementação passo a passo envolve definir endpoints de liveness e readiness, configurar verificações periódicas e integrar com orquestradores como Kubernetes. Health checks permitem detecção precoce de falhas, isolamento de instâncias degradadas e recuperação automática, garantindo resiliência e disponibilidade contínua do sistema distribuído.

Health checks são essenciais para manter microsserviços confiáveis. Este guia mostra como implementá-los passo a passo, desde o conceito até a prática.

Patrícia Lemos Patrícia Lemos · Especialista em dados e analytics
· · 4 min de leitura
Health Checks em Microsserviços: Guia Passo a Passo
Foto: Imagem ilustrativa · PosUp

Health checks são essenciais para manter microsserviços confiáveis. Este guia mostra como implementá-los passo a passo, desde o conceito até a prática.

Health checks são a base para manter microsserviços confiáveis em produção. Eles permitem que orquestradores como Kubernetes saibam quando um serviço está saudável ou deve ser reiniciado. Sem eles, falhas se propagam silenciosamente pela cadeia de chamadas. Este guia mostra como implementar health checks em microsserviços passo a passo, do conceito à prática.

Antes de começar, você precisa de um serviço existente, de preferência com um framework que suporte endpoints HTTP (Spring Boot, Express, Go net/http). O resultado esperado é um endpoint /health que retorna status 200 ou 503, com informações sobre dependências.

Passo 1: Defina os tipos de health check

Existem dois tipos principais: liveness e readiness. Liveness indica se o processo está vivo e não em deadlock. Readiness indica se o serviço consegue receber requisições, ou seja, se dependências como banco de dados, cache ou filas estão acessíveis.

Dica: use liveness para reiniciar o processo, readiness para remover tráfego. Não confunda os dois, pois isso causa reinícios desnecessários ou tráfego para um serviço sem condições.

Erro comum: retornar apenas 200 sem verificar dependências. Isso esconde problemas reais.

Passo 2: Implemente o endpoint de liveness

O endpoint de liveness deve ser simples e sem dependências externas. Por exemplo, em Spring Boot, use o atuador com management.endpoint.health.probes.enabled=true. Em Node.js, um middleware que retorna {status: 'UP'}.

Dica: mantenha o liveness o mais leve possível. Se ele depender de banco, uma falha momentânea pode derrubar o serviço inteiro.

Passo 3: Implemente o endpoint de readiness

O readiness deve verificar cada dependência crítica. Em Spring Boot, use HealthIndicator para banco, fila, etc. Em Express, faça um Promise.all com pings para cada recurso.

Exemplo: verifique se o banco responde a um SELECT 1 e se a fila aceita conexão. Se qualquer um falhar, retorne 503.

Erro comum: checar dependências em todo request, causando lentidão. Faça com timeout curto, por exemplo, 2 segundos.

Passo 4: Exponha métricas e detalhes

Além do status, retorne informações úteis: versão do serviço, tempo de atividade (uptime), e o status de cada dependência. Isso facilita o debug quando um orquestrador marca o serviço como não saudável.

Dica: use um formato padrão como JSON com campos status, checks[] e timestamp.

Passo 5: Configure o orquestrador

No Kubernetes, defina livenessProbe e readinessProbe no deployment. Aponte para os endpoints criados, com initialDelaySeconds e periodSeconds adequados.

Exemplo de configuração: livenessProbe com httpGet: path: /health/live, readinessProbe com path: /health/ready. Não use o mesmo endpoint para ambos.

Erro comum: usar o mesmo endpoint para liveness e readiness. Isso impede que o Kubernetes diferencie reinício de remoção de tráfego.

Passo 6: Teste e monitore

Simule falhas: derrube o banco e veja se o readiness muda para 503. Reinicie o serviço e veja se o liveness responde. Monitore a taxa de sucesso dos probes no dashboard do Kubernetes.

Dica: automatize testes de health check no CI, chamando o endpoint após o deploy.

Checklist final

  • Endpoint /health/live implementado e leve.
  • Endpoint /health/ready verificando dependências críticas.
  • Probes configurados no orquestrador com endpoints distintos.
  • Métricas de status visíveis no dashboard.
  • Testes de falha executados e documentados.

FAQ

O que é health check em microsserviços?

É um endpoint HTTP que informa se um serviço está operacional e pronto para receber requisições. Ele permite que orquestradores tomem ações automáticas, como reiniciar o serviço ou remover tráfego, com base no status retornado.

Qual a diferença entre liveness e readiness?

Liveness indica se o processo está vivo e sem deadlock. Readiness indica se o serviço consegue processar requisições, ou seja, se dependências estão acessíveis. Liveness deve ser simples; readiness pode ser mais complexo.

Como implementar health check em Spring Boot?

Use o Spring Boot Actuator. Habilite as probes com management.endpoint.health.probes.enabled=true e crie HealthIndicator personalizados para dependências. O endpoint /actuator/health retorna status agregado.

Health check precisa verificar banco de dados?

Sim, no readiness. Se o banco estiver fora, o serviço não deve receber tráfego. No liveness, evite checar banco para não causar reinícios desnecessários.

Posso usar o mesmo endpoint para liveness e readiness?

Não. Usar o mesmo endpoint impede que o orquestrador diferencie reinício de remoção de tráfego. Crie endpoints separados, como /health/live e /health/ready.

Como testar health checks?

Simule falhas nas dependências e verifique se o endpoint retorna 503. Use ferramentas como curl para chamar os endpoints e monitore os probes no orquestrador.

Com esses passos, seus microsserviços ficam mais resilientes e o orquestrador consegue agir com precisão. O próximo passo é adicionar alertas baseados nos status dos probes, para responder antes que o usuário perceba o problema.

Compartilhar:
Patrícia Lemos

Patrícia Lemos

Especialista em dados e analytics

Transforma painel cheio de número em decisão. Cuida de mensuração, dashboard e a métrica que de fato move o negócio.

Ver todos os artigos →

Leia também

ANPD recebe contribuições para agenda 2027-2028
Apps e Software

ANPD recebe contribuições para agenda 2027-2028

A ANPD abriu prazo para contribuições à agenda regulatória 2027-2028. Pesquisadores, empresas e cidadãos podem enviar sugestões até 16 de outubro pela plataforma Brasil Participativo.

01 de setembro de 2026 · Aline Furtado
Cache Invalidation Estrategias: 7 Metodos para Dados Consistentes
Apps e Software

Cache Invalidation Estrategias: 7 Metodos para Dados Consistentes

Cache invalidation e o desafio de manter dados consistentes entre cache e fonte original. Conheca 7 estrategias praticas para escolher a certa para cada caso.

01 de setembro de 2026 · Patrícia Lemos
Gargalos CPU diagnóstico: guia para identificar e resolver
Apps e Software

Gargalos CPU diagnóstico: guia para identificar e resolver

Gargalo de CPU não é sentença de troca de servidor. Neste guia, você aprende a diagnosticar a causa real, separar hype de caso de uso e aplicar correções direcionadas antes de investir em hardware novo.

01 de setembro de 2026 · Gustavo Rennó

Gostou? Receba mais análises

Newsletter quinzenal · curadoria editorial · sem spam