微服务:如何处理服务自助注册?

问题描述 投票:0回答:1

我最近一直致力于使用微服务架构的侧面项目。这种架构的主要问题之一是可以随时启动多个核心微服务,并且一旦运行就需要它们可用。

所以我在这个网站http://microservices.io/patterns/self-registration.html上发现了一篇很好的快速文章,但这只会提出问题,微服务如何在服务注册表上注册?

  • 这是否意味着每个微服务都知道服务注册表的位置?如果没有,那么每个客户端是否也应该有某种服务发现方法,只能找到服务注册表类型的服务?

TL; DR

我想基本问题究竟是什么才是实施服务注册的正确方法?

谢谢 !

microservices service-discovery
1个回答
1
投票

这取决于您用于服务注册的系统。对于服务自我注册,我建议Consul可能是一个不错的选择。你会做以下事情:

  1. 如Consul文档中所述,在运行微服务的每台计算机上设置一个带有consul客户端的Consul集群。
  2. 在每个微服务中,打开与标准Consul HTTP客户端端口(8500)上localhost上运行的Consul客户端的HTTP连接。
  3. 微服务将使用HTTP连接向本地Consul自行注册。
  4. 微服务将使用与Consul相同的HTTP访问或使用其内置DNS服务器来发现其他服务的位置。显然,如果您的服务A依赖于服务B而服务B也依赖于服务A,那么可能存在引导问题 - 在这种情况下,您需要实现一些等待和重试逻辑。
© www.soinside.com 2019 - 2024. All rights reserved.