克里斯·理查森( Chris )在他的文章“第三方登记”中提到:
第三方注册员可能只对服务实例的状态拥有表面知识,例如运行或不运行,因此可能不知道它是否能够处理请求。
但这到底意味着什么?当一个微服务启动时,它会向注册员发送什么信息?为什么登记员无法知道有关服务及其地点的信息?
发布于 2018-02-25 06:19:36
第三方注册员可能只对服务实例的状态有肤浅的了解,例如运行或不运行,因此可能不知道它是否能够处理请求。 当一项微型服务启动时,它会向注册员发送哪些信息?为什么登记员不能知道有关服务及其位置的信息?
服务通常不会单独与注册表联系。已经出现的模式是,编配系统启动服务并确保服务已注册并检查其状态。这是很有帮助的,所以您在设计服务时不必担心这些事情--服务应该有一个纯粹的业务焦点,而不应该对服务发现机制有任何了解。注册中心当然需要知道服务及其位置。因为它是业务流程系统的一部分,所以它将此信息提供给服务集群的其余部分。
关于引文:它指的是登记员是一个单独的实体,登记处和服务之间需要通信。通信的范围通常仅限于服务准备和可用性的目的(例如通过卫生探头)。但是,具有服务注册中心的系统允许为您自己的服务类型定制健康探针,这并不少见。因为这些都在您的控制中,所以您可以定义确切的通信以及哪些API和返回值使您的服务健康与否。
为什么这些关于服务状态的基本信息足够了?
当服务失败和/或自动替换不健康的服务容器时,状态信息是将流量转移到健康服务所需的信息。这些是典型的用例,因此由典型的注册或编排系统支持。
https://stackoverflow.com/questions/48966893
复制相似问题