mediumBackend

How do you design liveness and readiness health-check endpoints?

840 views
01

Understand the problem

Distinguishing 'is the process alive' from 'can it serve traffic'.

nodejsopshealth-checkkubernetes
02

Attempt it yourself

Sketch your approach before reading the solution — that's what interviews test.

Stuck? AI Nudge Available

Get a conceptual hint to guide your logic without spoiling the final implementation.

03

Study the solution

The solution is waiting

Give it an honest attempt first — then compare your thinking with the full walkthrough.

04

Read the code

Separate liveness and readiness
let ready = true;
app.get('/livez', (req, res) => res.sendStatus(200));   // cheap, no deps

app.get('/readyz', async (req, res) => {
  if (!ready) return res.sendStatus(503);               // draining
  try { await db.query('SELECT 1'); res.sendStatus(200); }
  catch { res.sendStatus(503); }                         // dep down → drop from LB
});

process.on('SIGTERM', () => { ready = false; /* then drain + close */ });
05

Join the discussion

Discussion (0)

Sign in to join the discussion.

No responses yet. Be the first to share what you think.