Hippodamia观察所有注册微服务的状态(也称为看门狗)。
HippodamiaService的Python项目详细描述
Hippodamia观察所有注册微服务的状态(又名Watch 狗)。
PELOPS概述
Hippodamia是基于mqtt的微服务集合的一部分 pelops。微服务概述 架构和示例可以在 (http://gitlab.com/pelops/pelops)。
对于开发人员
微服务的状态
状态图
- initialize phase-已收到 系统。如果源被识别为已知的微服务, 将使用现有状态,将初始化一个新状态。
- onboarding-已经识别/初始化了一个microserivce,并且 系统等待它对入职请求响应作出反应。
- active-观察到的微服务已成功登录 并定期发送状态更新。
- inactive-微服务没有发送 预定义周期。
- 已终止-微服务已发送good by消息或 好久没有活动了。
- end state-系统已终止对此的观察 微服务。
主题
见AsyncAPI。
输入
- contact-用于入职/离职请求
- state.ping-侦听新的ping消息
- state.runtime-侦听新的运行时消息
- state.config-侦听新的配置消息
- state.end-侦听传出的终止消息
- uuid-每个微服务为 入职流程
- command.ping-请求ping消息
- command.runtime-请求运行时消息
- command.config-请求配置消息
- command.onboarding-请求重新登录
消息
见AsyncAPI。
输入
- 入职请求-来自微服务的入职请求
- ping-微服务的最小“生命迹象”
- 运行时信息-ping加上其他运行时信息
- config state-ping plus服务配置
- 终止信息-结束服务信号。在停止时发送 通过mqtt服务器提供服务。
传出
- onboarding response-hippodamia发送给 通过microservice中的“提供入职培训”主题提供microservice
- re板载请求-请求加上可选的gid
- 请求ping-请求加上可选的gid
- 请求运行时信息-请求加上可选的gid
- request full state-请求加上可选的gid
入职顺序
顺序
顺序
首先,微服务订阅一个独特的主题。此主题已发送 以及识别微服务的附加信息 (特别是看看这个微服务以前是否已经登入过) 去Hippodamias登机频道。河马回答 主要包含gid的入职响应消息 理想情况下应该 即使在第N次入职周期之后也一样。repsonse消息 发布到微服务中的唯一主题。一旦 微服务已收到其gid,无法订阅的主题可以取消订阅 并且,所需的主题将用于进一步的交流。
ping序列
ping
ping消息通常由th发送在任意时间提供微服务。 通常执行60秒的发送间隔。其他的 可能是hippodamia请求所有人发送ping消息 车载微服务。相同的序列适用于runtime,config 以及入职培训。
数据库
Hippodamia将所有信息立即存储到数据库中。* 微服务状态*收到的消息