← Back to microservices patterns map
🏃
Microservices Pattern

Health Check / Readiness Probe

Expose endpoints that tell orchestrators whether the service is alive and ready.

ops

Detailed Description

Liveness and readiness answer different questions. A service can be alive but not ready.

Readiness should check critical dependencies needed to serve traffic.

Visual Diagram

Health Probe Types
  Liveness:  GET /health/live
    Is the process alive? (not deadlocked?)
    fail → K8s kills + restarts pod

  Readiness: GET /health/ready
    Is service ready to receive traffic?
    fail → removed from load balancer
    (e.g. still warming up DB connections)

  Startup:   GET /health/startup
    Did the app finish starting? (slow start)

Tradeoffs

Pros

Auto recovery, no traffic to unhealthy pods

Cons

Bad probes can cause false restarts

Examples: Kubernetes livenessProbe, readinessProbe, Consul health