Skip to main content
Archived

This project has been archived by its maintainers, and is no longer receiving any updates.

Hippodamia observe the state of all registered microservices (aka watch dog).

Pelops Overview

Pelops Overview

Hippodamia is part of the collection of mqtt based microservices pelops. An overview on the microservice architecture and examples can be found at (http://gitlab.com/pelops/pelops).

for Developers

States of a Microservice

AState Diagram

AState Diagram

  • initialize phase - an onboarding request has been received by the system. if the source has been identified as a known microservice, the existing state will be used, a new one will be initialized.

  • onboarding - a microserivce has been identified/initialized and the system waits for it to react to the onboarding request response.

  • active - the observed microservice has been successfully onboarded and sends state updates regularly.

  • inactive - the microservice has not sent any update for a predefined period.

  • terminated - the microservice has either send a good-by-message or been inactive for to long.

  • end state - the system has terminated observation of this microservice.

States of the Corresponding Agent

  • uninitialized - agent has just started or a restart has been forced. on entry of this state a new uuid will be generated.

  • initizalized - agent is ready to start onboarding procedure.

  • onboading - agent has sent an onboarding request and is waiting for an reply

  • active - agent is constantly sending ping, runtime, and config messages

  • terminating - agent sends an termination message to the service before shutdown

Topics

see AsyncAPI.

Incoming

  • contact - for onboarding/offboarding requests

  • state.ping - listens for new ping messages

  • state.runtime - listens for new runtime messages

  • state.config - listens for new config messages

  • state.end - listens for termination messages ### Outgoing

  • uuid - individual topic opened by each microservice for the onboarding process

  • command.ping - request ping messages

  • command.runtime - request runtime messages

  • command.config - request config messages

  • command.onboarding - request re-onboarding

Messages

see AsyncAPI.

Incoming

  • onboarding request - onboarding request from a microservice

  • ping - minimum “sign of life” of a microservice

  • runtime info - ping plus additional runtime information

  • config state - ping plus service configuration

  • termination info - end service signal. sent either upon stop of service or as last will via mqtt server.

Outgoing

  • onboarding response - onboarding response sent by hippodamia to the microservice via the provide onboarding topic from the microservice

  • re-onboard request - request plus optionally gid

  • request ping - request plus optionally gid

  • request runtime info - request plus optionally gid

  • request full state - request plus optionally gid

Onboarding Sequence

Sequence

Sequence

First, the microservice subscribes to a unique topic. This topic is sent together with additional information to identify the microservice (especially to look if this microservices has been onboarded previously) to hippodamias onboarding channel. Hippodamia answers with the onboarding response message which primarily contains the gid - the identifier of this particular microservice instance that ideally should be the same even after the n-th onboarding cycle. The repsonse message is published to the unique topic from the microservice. Once the microservice has received its gid, the uniqued topic can be unsubscribed and the reqular topics will be used for further communication.

Ping Sequence

Ping

Ping

Ping messages are normally sent by the microservice at arbitrary times. Usually a sent interval of e.g. 60 seconds is implemented. The other possibility is that hippodamia requests a ping message from all onboarded microservices. The same sequence applies to runtime, config and onboarding.

Database

Hippodamia stores all info immediately into the database. * Microservice state * Received messages

Metadata

Release files for Hippodamia 0.4.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for Hippodamia 0.4.2
File Size Uploaded Provenance
Hippodamia-0.4.2.tar.gz 39.7 kB Without provenance Details

Release files / Hippodamia-0.4.2.tar.gz

Download URL Hippodamia-0.4.2.tar.gz
Size 39.7 kB
Tags Source
SHA-256 checksum
How to use checksums
1426addeb928087297eff45bb51fd3e77ef89128fbd766ae1726427397188d8a
BLAKE2b-256 checksum
How to use checksums
756d713653cf494d99455624b58413c1d55b501cb9e4f2027ecf658f7d7a8a36
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via Python-urllib/3.6

Security for Hippodamia 0.4.2

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page