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服務不能互通,原因是對傳輸的數據的序列化做了不同的處理,解析方式不對應。

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