Running ASAB microservices¶
Each instance of a ASAB microservice can actively advertise data about itself to the consensus.
Ephemeral and sequenced ZooKeeper nodes are used. It means that:
- Each running instance creates a ZooKeeper node.
- Each node is connected to the running microservice. When microservice stops, the ZooKeeper node disappears.
What you can learn from this data about each instance of ASAB microservices:
- The instance is up and running
- Cluster node on which it is running
- Containerization technology (Docker, Podman or none)
- Image version and when and how it was built
- Time when the container was created and launched
- Port open for web requests
- Health if such microservice can indicate that
This data advertised by running ASAB microservices are among the inputs of cluster monitoring and serve in service discovery.
Example of /asab/run
ZooKeeper node:
- /asab/run/
- ASABConfigApplication.0000000108
- ASABConfigApplication.0000000115
- ASABConfigApplication.0000000144
- ASABGovernatorApp.0000000095
- ASABGovernatorApp.0000000098
- ASABGovernatorApp.0000000104
- ASABLibraryApplication.0000000113
- ASABLibraryApplication.0000000114
- ASABLibraryApplication.0000000147
- ASABRemoteControlApp.0000000109
- ASABRemoteControlApp.0000000110
- ASABRemoteControlApp.0000000107
Example of /asab/run/ASABConfigApplication.0000000108
:
{
"host": "asab-config-3",
"appclass": "ASABConfigApplication",
"launch_time": "2023-12-19T09:52:46.468038Z",
"process_id": 1,
"instance_id": "asab-config-3",
"node_id": "lmc03",
"service_id": "asab-config",
"containerized": true,
"created_at": "2023-11-06T17:18:54.206827Z",
"version": "v23.45",
"CI_COMMIT_TAG": "v23.45",
"CI_COMMIT_REF_NAME": "v23.45",
"CI_COMMIT_SHA": "cf3be4570f363b8e9ed400ffbaea8babac957688",
"CI_COMMIT_TIMESTAMP": "2023-11-06T17:15:54+00:00",
"CI_JOB_ID": "55305",
"CI_PIPELINE_CREATED_AT": "2023-11-06T17:16:58Z",
"CI_RUNNER_ID": "74",
"CI_RUNNER_EXECUTABLE_ARCH": "linux/amd64",
"web": [
[
"0.0.0.0",
8894
]
]
}