微服务架构中的注册过程

时间:2018-02-24 19:46:08

标签: microservices

Chris Richardson在article"第三方注册"中提及:

"第三方注册商可能只有肤浅的知识服务实例的状态,例如RUNNING或NOT RUNNING可能不知道它是否可以处理请求。"

但这究竟意味着什么?微服务在启动时会向注册商发送什么信息?为什么注册商无法了解有关服务及其位置的信息?

1 个答案:

答案 0 :(得分:1)

  

“第三方注册商可能只有表面的服务实例状态知识,例如RUNNING或NOT RUNNING,因此可能不知道它是否可以处理请求。”

     

微服务启动后会向注册商发送哪些信息?为什么注册商无法了解有关服务及其位置的信息?

该服务通常不会单独联系注册表。出现的模式是orchestration system启动服务并确保服务已注册并检查其状态。这很有帮助,因此您在设计服务时无需担心这些问题 - 服务应该具有纯粹的业务重点,而不是对service discovery mechanisms有任何了解。注册表当然需要了解服务及其位置。因为它是业务流程系统的一部分,所以它将此信息提供给服务群集的其余部分。

然后是关于引用:它指的是注册服务商是一个单独的实体,注册管理机构和服务之间需要进行通信。通信范围通常仅限于服务准备和可用性的目的(例如通过健康调查)。但是,具有服务注册表的系统允许为您自己的服务类型自定义health probes并不罕见。由于这些是您的控制,您可以定义确切的通信以及哪些API和返回值使您的服务健康与否。

为什么这个关于服务状态的基本信息是否足够?

状态信息是在服务失败和/或自动替换不健康的服务容器时将流量转移到健康服务所需的信息。这些是典型的用例,因此通过典型的注册或编排系统支持开箱即用。

相关问题