Consul&Java 用服务名不能获取到 ServiceInstance 实例

发布于 2022-09-12 02:43:58 字数 692 浏览 19 评论 0

    for (String service : discoveryClient.getServices()) {
        System.out.println(service);
        ServiceInstance choose = loadBalancerClient.choose(service);
        System.out.println(choose);
    }

输出结果:

consul
RibbonServer{serviceId='consul', server=127.0.0.1:8300, secure=false, metadata={}}
consul-client
null
consul-consumer
null

后两个 null 让人头大.. 我本来以为 choose 的参数的名字叫 serviceid 会不会我这个只是 servicename .. 但我打开 consul 的网页控制台 localhost:8500 看 id 和 name 就是同一个东西啊..

刚学没多久 没有 security 也没有监控什么的 就很单纯的 consul-discovery

请问该如何获得有效的 service instance ? 谢谢

另外请问第一个那个 consul 是个啥,相当于 eureka 的注册中心是么?

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

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

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文