Hippodamia观察所有注册微服务的状态(也称为看门狗)。

Hippodamia的Python项目详细描述


Hippodamia观察所有注册的微服务的状态(也称为watch
dog)。

…图::img/microservice%20overview.png
:alt:pelops overview


``hippodamia``是基于mqtt的microservices集合的一部分
`pelops<;https://gitlab.com/pelops>;``uu。有关微服务
体系结构和示例的概述,请参见
(http://gitlab.com/pelops/pelops)。


图:img/microservice_states.png
:alt:astate diagram


astate diagram

-*初始化阶段*-系统已收到入职请求。如果源已被标识为已知的微服务,则
将使用现有状态,将初始化一个新的服务。
-*入职*-已识别/初始化一个microserivce,并且
系统等待它对入职请求响应作出反应。
-*活动*-观察到的microservice已成功入职
,并定期发送状态更新。
-*非活动*-microservice尚未发送
预定义时间段的任何更新。
-*已终止*-微服务已通过消息发送一个good by消息,或
已长时间处于非活动状态。
-*结束状态*-系统已终止对此
微服务的观察。

代理
---------------------------

代理状态图\**未初始化*-代理刚刚启动或已强制重新启动。进入此状态时,将生成新的uuid
。\**initizalized*-代理已准备好开始入职
过程。\**onboading*-代理发送了一个入职请求,正在等待回复\**active*-代理不断发送ping、
运行时和配置消息\**terminating*-代理在关闭前向服务发送一个


topics
----

请参见“asyncAPI<;docs/index.html>;`_.

传入
~~~~~~~

-*联系人*-用于入职/离职请求
-*状态。ping*-侦听新的ping消息
-*状态。runtime*-侦听新的运行时消息
-*状态。config*-侦听新的配置消息
-*状态。end*-侦听终止消息*-每个微服务为
入职流程
-*命令打开的单个主题。ping*-请求ping消息
-*命令。runtime*-请求运行时消息
-*命令。config*-请求配置消息
-*命令。入职*-请求重新入职

->消息
--


请参阅“asyncAPI<;docs/index.html>;`_.

传入
~~~~~~~

-*入职请求*-来自微服务的入职请求
-*ping*-微服务的最小“生命迹象”
-*运行时信息*-ping加上其他运行时信息
-*配置状态*-ping加上服务配置
-*终止信息*-结束服务信号。在
服务停止时发送,或最后通过MQTT服务器发送。

outgoing
~~~~~~~~~

-*入职响应*-Hippodamia通过Microservice的“提供入职”主题向
Microservice发送的入职响应
-*重新入职请求*-请求加上可选的GID
-*请求ping*-请求加上可选的gid
-*请求运行时信息*-请求加上可选的gid
-*请求完整状态*-请求加上可选的gid


>入职序列
~~~~~~~~~~~~~~~~~~~~~~~

……图:img/onboarding.png
:alt:sequence


sequence


首先,微服务订阅一个唯一的主题。本主题连同其他信息一起发送到Hippodamias O,以确定微服务
(特别是查看此微服务是否已在以前登录过)
B划船航道。hippodamia使用
入职响应消息进行应答,该消息主要包含gid-此特定微服务实例的
标识符,理想情况下,即使在第n个入职周期之后
也应相同。repsonse消息
将发布到microservice中的唯一主题。一旦
microservice接收到其gid,就可以取消订阅未订阅的主题
,并且将使用所需的主题进行进一步的通信。

~~~~~~~~~~~~~~

……图:img/ping.png
:alt:ping


通常执行60秒的发送间隔。另一种可能性是hippodamia请求来自所有
车载微服务的ping消息。同样的顺序也适用于运行时、配置和入职。

\*
微服务状态\*收到的消息

…|代理状态图:图像:../hippodamia agent/img/agent-states.png




欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
Java:不解析XML的简单XML。例外   KIE Workbench的java自定义UI   java将元素从bucket移动到LinkedList,但有一个元素被完全删除   如何将java stream collect转换为scala   java运行AsynkTask多次不工作   java组织。xml。萨克斯。SAXParseException:cvccomplextype。2.4.c:匹配的通配符是严格的   java是一种计算排序算法所需时间的合适方法   java在O(logn)时间内对排序整数数组中具有相同数字的数字进行计数   xpages从当前数据库javaAgent调用另一个数据库的javaAgent   java如何在instagram中上传特定位置的所有照片   JavaApachePOI可以有效地删除多个列   java创建的对象数   java我可以在关闭连接时关闭Oracle JDBC自动提交吗?