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第三方库


热门话题
如何上传文件。HTML/Javascript格式的mp3文件并发送到Java后端   eclipse问题:使用Selenium WebDriver(java)从下拉列表中查找元素   java如何通过通知恢复应用程序   java Repast聚合数据集,但在Repast Simphony中分别针对每个实例   java为什么收到Http/1.1400错误请求?   java如何简单地检查请求体是否为空或请求体是否有空字段?   java JTable:如何避免重复行和聚合项目数量   java如何部署和访问Dropwizard应用程序   java找不到基本类weblogic。部署者   JavaSpringWebMVC互动程序从相同的定义扩展而来   javascript Xsl transformToDocument不适用于chrome浏览器,但适用于firefox   java创建存储泛型类型对象的ArrayList数组   如何在Java中禁用抛出异常或fillInStackTrace()   使用ConstraintValidator使用两种类型进行java自定义bean验证   java组织。百里香。例外情况。TemplateProcessingException:连接href