Introdução
Ao fazer deploy de aplicações Next.js em clusters Kubernetes, uma preocupação comum é garantir que os endpoints de saúde estejam corretamente configurados para evitar problemas de disponibilidade.
Desafios em aplicações Next.js
Diferente de um servidor Express padrão, o Next.js roda em um ambiente serverless ou em containers onde o ponto de entrada é o próprio framework, dificultando a implementação de endpoints tradicionais de health check.
Como fazer?
A solução mais comum é criar uma rota API que retorne status 200, garantindo que o Kubernetes possa monitorar a saúde da aplicação.
// arquivo pages/api/healthz.js
export default function handler(req, res) {
res.status(200).end(). }
Depois, configure o readiness e liveness probes no seu deployment do Kubernetes apontando para esse endpoint.
Quais os riscos?
- Se essa rota não estiver acessível ou retornando erro, o Kubernetes pode reiniciar o pod desnecessariamente.
- Implementar um endpoint que não reflita a real saúde da aplicação pode mascarar problemas maiores.
- Segurança: não exponha informações sensíveis nesse endpoint.
Pergunta para a comunidade
yep, quais estratégias vocês usam pra garantir que os endpoints de saúde realmente representam o estado da aplicação? Já passaram por problemas de false positive nos probes?
Vamos discutir as melhores práticas e experiências!