Přeskočit obsah

Spuštění mikroservisí ASAB

Každá instance mikroservisy ASAB může aktivně inzerovat data o sobě do konsensu.

Používají se efemérní a sekvenční uzly ZooKeeper. To znamená, že:

  • Každá běžící instance vytvoří uzel ZooKeeper.
  • Každý uzel je připojen k běžící mikroservise. Když se mikroservisa zastaví, uzel ZooKeeper zmizí.

Co se můžete dozvědět z těchto dat o každé instanci mikroservisy ASAB:

  • Instance je spuštěná a běží
  • Klastr uzlu, na kterém běží
  • Technologie kontejnerizace (Docker, Podman nebo žádná)
  • Verze image a kdy a jak byla vytvořena
  • Čas, kdy byl kontejner vytvořen a spuštěn
  • Port otevřený pro webové požadavky
  • Zdravotní stav, pokud taková mikroservisa může indikovat

Tato data inzerovaná běžícími mikroservisami ASAB jsou mezi vstupy monitorování klastru a slouží pro objevování služeb.

Příklad uzlu /asab/run ZooKeeper:

- /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

Příklad uzlu /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
        ]
    ]
}