美文网首页
记录一个Nacos Client的Bug?

记录一个Nacos Client的Bug?

作者: Wannay | 来源:发表于2022-01-01 06:13 被阅读0次

    NacosAPI方式使用中,当使用如下的代码去进行注册服务时,在不同的版本的Nacos当中出现了不同的结果。

    try {
                NamingService namingService = new NacosNamingService("localhost:8848");
                namingService.registerInstance("wanna", "localhost", 8889);
                namingService.registerInstance("wanna", "localhost", 8890);
    
                TimeUnit.SECONDS.sleep(500);
            } catch (Exception ex) {
                ex.printStackTrace();
            }
    
    • 1.在使用Nacos ClientNacosServer版本为1.4.2的版本当中,该代码正常运行,也能往NacosServer当中注册上去两个Instance
    • 2.在使用Nacos ClientNacosServer版本为2.0.2的版本当中,该代码只能往NacosServer当中注册一个Instance,后进行注册的8890,将会替代之前的8889,NacosServer中只有一个Instance
    • 3.在Nacos Client使用1.4.2的版本,Nacos Server使用2.0.2的版本中,也能正常注册。
    • 4.在Nacos Client使用2.0.2的版本,Nacos Server使用1.4.2的版本中,Client直接报错,不能启动。
    image.png image.png

    懵逼状态,搞了一晚上排查问题,怀疑是Nacos Client版本的问题?

    给Github提了Issue,官方回复是,这是设计的问题,在Client2.0.x的版本当中,NamingService维护着一个长连接,如果要注册别的服务,需要重新创建一个NamingService去注册。(就很那个,官方文档说了和之前的API兼容,这,算是兼容吗,给的示例代码都是这样子的。。。找了老半天问题所在,根本不清楚这个问题,还好我最后换版本了)

    相关文章

      网友评论

          本文标题:记录一个Nacos Client的Bug?

          本文链接:https://www.haomeiwen.com/subject/lofzqrtx.html