dubbo替换duboox 过程记录

背景

公司之前项目都是使用dubbox,zk注册中心。前段时间新启动一个项目要使用k8s部署,该项目的dubbo服务地址和Docker对外暴露地址不一致,dubbox无法满足自定义的地址配置,因此决定放弃dubbox,使用dubbo代替。

步骤

1,所有子项目都依赖顶级项目,之前duubox也是在顶级项目引入的,所以只需要修改顶级项目的dubbo版本。讨论后决定使用dubbo的2.6.7版本。更换顶级项目的maven的dubbo依赖为2.6.7版本

2,项目build成功,启动会报错,缺少class,

错误1:
java.lang.NoClassDefFoundError: io/netty/channel/EventLoopGroup

错误2:
java.lang.NoClassDefFoundError: org/apache/curator/RetryPolicy

经过日志分析引入配套jar

<dependency>
   <groupId>io.netty</groupId>
   <artifactId>netty-all</artifactId>
   <version>4.1.32.Final</version>
</dependency>
<dependency>
   <groupId>org.apache.curator</groupId>
   <artifactId>curator-framework</artifactId>
   <version>2.8.0</version>
</dependency>
<dependency>
   <groupId>org.apache.curator</groupId>
   <artifactId>curator-recipes</artifactId>
   <version>2.8.0</version>
</dependency>

一般没有使用其他dubbox带入jar的程序应该已经ok!

3,我们项目中还使用了dubbox引入的http相关的jar,替换为dubbo后需要自行添加依赖

        <dependency>
			<groupId>org.apache.httpcomponents</groupId>
			<artifactId>httpcore</artifactId>
			<version>4.4.1</version>
			<scope>compile</scope>
		</dependency>
		<dependency>
			<groupId>org.apache.httpcomponents</groupId>
			<artifactId>httpclient</artifactId>
			<version>4.5</version>
			<scope>compile</scope>
		</dependency>

 

注意这二个jar的版本,需配套使用

 

备注

dubbox和dubbo服务不能互通,原因是对传输的数据的序列化做了不同的处理,解析方式不对应。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章