2.3 KiB
🔍 Healthchecks - DEJO Node
📌 Visão Geral
Os healthchecks do DEJO Node garantem que a aplicação está rodando corretamente e que seus componentes essenciais estão operacionais. Eles são divididos em três categorias principais:
1️⃣ Liveness Probe → Verifica se o processo ainda está ativo. 2️⃣ Readiness Probe → Indica se o serviço pode receber tráfego. 3️⃣ Startup Probe → Confirma se a aplicação inicializou corretamente.
1️⃣ Endpoints de Healthcheck
1.1 - Liveness Probe
📌 Endpoint: GET /health/liveness
- Retorna se o processo do nó está ativo e não travou.
- Se falhar, o Kubernetes pode reiniciar o pod.
📌 Exemplo de resposta:
{
"status": "ok",
"message": "Node is alive",
"timestamp": 1712456789
}
1.2 - Readiness Probe
📌 Endpoint: GET /health/readiness
- Verifica se o nó está pronto para receber tráfego.
- Avalia conexões com banco de dados, consenso e rede P2P.
📌 Exemplo de resposta (sucesso):
{
"status": "ready",
"dependencies": {
"database": "ok",
"consensus": "ok",
"p2p": "ok"
},
"timestamp": 1712456789
}
📌 Exemplo de resposta (falha):
{
"status": "not_ready",
"dependencies": {
"database": "error",
"consensus": "ok",
"p2p": "ok"
},
"timestamp": 1712456789
}
1.3 - Startup Probe
📌 Endpoint: GET /health/startup
- Indica se o nó foi iniciado corretamente.
- Útil para evitar que o Kubernetes mate o pod prematuramente.
📌 Exemplo de resposta:
{
"status": "initialized",
"message": "Node startup completed",
"timestamp": 1712456789
}
2️⃣ Configuração no Kubernetes
📌 Exemplo de configuração no deployment.yaml:
livenessProbe:
httpGet:
path: /health/liveness
port: 8080
initialDelaySeconds: 3
periodSeconds: 5
readinessProbe:
httpGet:
path: /health/readiness
port: 8080
initialDelaySeconds: 10
periodSeconds: 10
startupProbe:
httpGet:
path: /health/startup
port: 8080
failureThreshold: 30
periodSeconds: 10
📌 Este documento será atualizado conforme a evolução do serviço.
🚀 DEJO Node: Garantindo disponibilidade com healthchecks inteligentes! 🔥