【问题标题】:Java&Consul can't get valid instance of ServiceInstance by valid service nameJava&Consul 无法通过有效的服务名称获取有效的 ServiceInstance 实例
【发布时间】:2020-08-31 21:13:43
【问题描述】:
        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

刚开始学习Spring cloud和Consul,所以项目很简单。几乎可以认为只有领事的依赖。并且是否使用Rabbion对结果没有影响。

您可以通过下载获得 consul-client 和 consul-consumer 项目:

https://d613.top/filebedcc/static/a2a6b2b9edc7453c9c304be3d.zip

https://d613.top/filebedcc/static/971dd7c827a24e8b94280b549.zip

我应该怎么做才能获得 consul-client 的 ServiceInstance 的有效实例?

非常感谢

【问题讨论】:

  • 它对我来说很好用。 (我添加了一些前缀来区分日志行)客户端实例:RibbonServer{serviceId='consul-client', server=192.168.68.120:20515, secure=false, metadata={secure=false}} 服务:consul-consumer 实例:RibbonServer{serviceId='consul-consumer', server=192.168.68.120:20516, secure=false, metadata={secure=false}} ``` 你必须在 consul 中运行其他东西? localhost:8500/v1/agent/services 说什么?
  • @spencergibb 非常感谢!在你告诉我项目可以在你的电脑上成功运行后,我想我的电脑可能有问题,我尝试在管理员模式下运行 consul.exe(window 10),现在我成功了!非常感谢!

标签: java spring-cloud consul


【解决方案1】:

一开始我只是用cmd切换到consul.exe所在目录然后consul.exe agent -dev。感谢@spencergibb告诉我它可以在他的电脑上正常工作,所以我尝试在管理员模式下运行consul,结果正常。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-03-02
    • 2015-10-16
    • 1970-01-01
    • 2012-08-06
    • 1970-01-01
    • 2017-04-07
    • 2019-05-27
    相关资源
    最近更新 更多