微服务如何发现?

发布于 2022-09-13 00:11:53 字数 159 浏览 42 评论 0

我已经用SpringCloud中的Euraka搭建了2个服务端集群

可以在首页看到集群信息

然后有几个客户端 可以正常运行

在首页的application中也显示已经注册了

但是客户端如何通过服务端去发现(调用)真正的服务地址?

这一步怎么做?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

听风念你 2022-09-20 00:11:53

Euraka Client 通过 Euraka Server 提供的 HTTP 接口做服务注册和服务发现的。

具体可以看这个文档:https://github.com/Netflix/eu...

例如

  • POST /eureka/v2/apps/appID 接口功能是 Register new application instance,即服务注册,服务注册的时候会带上自己的地址和端口号信息,Euraka Server 会保存下来
  • GET /eureka/v2/apps & GET /eureka/v2/apps/appID 这些接口可以获取到每个服务的地址和端口号,即服务发现

拿到了服务的地址和端口号列表,就可以通过 Ribbon 做客户端负载均衡了。

听,心雨的声音 2022-09-20 00:11:53
  1. 各个服务实例启动时会向服务发现中心注册自己(包括自己的 hostname 或是 ip);
  2. 服务 A 想调用 B 时会向服务发现中心拉取 B 的可用实例列表(有些会在本地有缓存),这些列表里就有这些实例的 hostname 或是 ip ;
  3. Ribbon 从 B 的可用实例列表选择一个作为负载均衡的结果。

也就是说如果你想,你可以自己拿到实例列表然后 random 一个去用。

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文