Health Check Probes

Health check probes determines when to start the container and ready for service or live to serve traffic. Temenos microservices support the health check probes for better stability and availability of the Kubernetes (K8) platform. To improve the availability of microservices on the K8 platform, you need to implement a set of probes in microservices to monitor the application’s health.

When the pods fail to operate, the health check probes act on the pods and display the reason for the failure. Thus, the health check probes is an important feature in microservices to monitor and act on the state of pods (containers) and to ensure only healthy pods serve the traffic. With the help of the probes, we can control when a pod should be started, ready for service, or live to serve traffic.

The following are different types of health check probes implemented in the related pods.

  • Liveness Probe - Indicates whether the container is operating actively. If yes, this probe allows it to run for some more and check again. Else, the kubelet kills and restarts the container.
  • Readiness Probe - Indicates whether the application running in the container is ready to accept the customer’s requests. If yes, services matching the pod are allowed to send traffic to it. Else, the endpoints controller removes the pod from all matching Kubernetes Services.
  • Startup Probe - Indicates whether the application running in the container is started. If yes, the other probes start functioning. Else, the kubelet kills and restarts the container.

Solution Approach

The following are the three services to which you can add the health check probes.

  • API Service - Serves the functional purpose of the microservice through REST API. This service mandatorily depends on a database (SQL/NoSQL), and optionally depends on Kafka, and other Temenos microservices.
  • Ingester service - Serves the background processing of Kafka events. This service mandatorily depends on Kafka.
  • Scheduler service - Runs the scheduler jobs or tasks of the 'API service'. The jobs are picked from a database. This service mandatorily depends on the database and Kafka.

Each of the above services has different prerequisites while starting the service and serving the requests. In the case of Ingester and Scheduler containers, these prerequisites are common across all the microservices, such as GenConfig, VirtualTable, and so on, and change as per the API service container.

As a solution approach, the probes are implemented as Rest APIs for these containers.


Field Name
|
Application/Table name

Temenos Headquarters SA
2 Rue de l'Ecole-de-Chimie
CH - 1205 Geneva
Switzerland

Copyright © 2020- Temenos Headquarters SA

Published on :
Tuesday, August 29, 2023 1:49:01 PM IST

Last Updated R23 AMR