Design: Microservices Health Check System with Liveness and Readiness Probes
Design focuses on the health check mechanism using liveness and readiness probes for microservices in container orchestration environments. It excludes detailed orchestration logic and deployment pipelines.
Functional Requirements
FR1: Detect if a microservice instance is alive and responsive (liveness probe).
FR2: Detect if a microservice instance is ready to serve traffic (readiness probe).
FR3: Automatically restart or remove unhealthy instances based on probe results.
FR4: Support configurable probe endpoints and intervals.
FR5: Integrate with container orchestration platforms like Kubernetes.
FR6: Minimize false positives to avoid unnecessary restarts or traffic routing.
Non-Functional Requirements
NFR1: System must handle at least 1000 microservice instances concurrently.
NFR2: Probe response time should be under 100ms to avoid delays in orchestration decisions.
NFR3: Availability target: 99.9% uptime for the health check system itself.
NFR4: Probes must not add significant load to microservices.