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

    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 的注册中心是么?

阅读 2k
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题