dubbo2.7.1及以下版本的服务停止异常

894 阅读1分钟
  • 背景

    • 环境: 一台centos7,两台本地windows机器,一台mac10.14.6
    • 项目搭建: springboot2.1.4 + dubbo2.7.1
    • 现象: window及linux启动服务之后再断开,dubbo-admin会保留provider的功能,并且status为enable,mac则正常下线
    • pom引入内容:
    <!-- Dubbo Spring Boot Starter -->
       <dependency>
           <groupId>org.apache.dubbo</groupId>
           <artifactId>dubbo-spring-boot-starter</artifactId>
           <version>${dubbo.version}</version>
       </dependency>

       <dependency>
           <groupId>org.apache.dubbo</groupId>
           <artifactId>dubbo</artifactId>
       </dependency>

       <dependency>
           <groupId>org.apache.zookeeper</groupId>
           <artifactId>zookeeper</artifactId>
           <version>3.4.14</version>
           <exclusions>
               <exclusion>
                   <artifactId>slf4j-log4j12</artifactId>
                   <groupId>org.slf4j</groupId>
               </exclusion>
           </exclusions>
       </dependency>

       <dependency>
           <groupId>org.apache.curator</groupId>
           <artifactId>curator-recipes</artifactId>
           <version>4.0.1</version>
           <exclusions>
               <exclusion>
                   <artifactId>zookeeper</artifactId>
                   <groupId>org.apache.zookeeper</groupId>
               </exclusion>
           </exclusions>
       </dependency>
  • properties配置
 dubbo.application.name=ccdc-app
 dubbo.scan.base-packages=com.xxx.xxx.ccdc.api.facade
 dubbo.consumer.check=false
 dubbo.protocol.id=dubbo
 dubbo.protocol.name=dubbo
 dubbo.protocol.port=35888
 dubbo.registry.address=zookeeper://ip:2181
 dubbo.registry.client=curator
 dubbo.registry.register=true
 dubbo.consumer.timeout=10000
 dubbo.provider.timeout=10000
 dubbo.registry.timeout=10000

  • 客户端使用的是推荐的curator,且2.7以下缺省的zkClient已经被移除
  • 解决方案

    -  使用2.7以下alibaba版本
    -  使用2.7.1以上版本
    -