新聞中心
[[416192]] 本文轉(zhuǎn)載自微信公眾號「Java時間屋」,作者Jack佳 。轉(zhuǎn)載本文請聯(lián)系Java時間屋公眾號。

創(chuàng)新互聯(lián)公司堅(jiān)持“要么做到,要么別承諾”的工作理念,服務(wù)領(lǐng)域包括:成都做網(wǎng)站、成都網(wǎng)站建設(shè)、成都外貿(mào)網(wǎng)站建設(shè)、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣等服務(wù),滿足客戶于互聯(lián)網(wǎng)時代的宿豫網(wǎng)站設(shè)計、移動媒體設(shè)計的需求,幫助企業(yè)找到有效的互聯(lián)網(wǎng)解決方案。努力成為您成熟可靠的網(wǎng)絡(luò)建設(shè)合作伙伴!
- 1.接口里面方法的參數(shù)發(fā)生變化:
- 2.接口里面增加新的方法:
- 3.服務(wù)增加新的接口:
前言
盡管現(xiàn)在SpringCloud現(xiàn)在盛行市場,但是使用的dubbo的公司也大量存在,之前我使用SpringCloud的時候也借鑒了dubbo的api的架構(gòu),直接@FeignClient("classServer")注入接口的實(shí)例,完成微服務(wù)之間的調(diào)用。架構(gòu)如下:
就是借鑒了dubbo的api在controller層抽象出來一層接口。我算是同時使用過SpringCloud和Dubbo,二者確實(shí)都有優(yōu)缺點(diǎn),不是這篇文章討論的重點(diǎn),這篇文章主要討論下我們使用dubbo的時候什么時候升級版本號。
1.接口里面方法的參數(shù)發(fā)生變化:
當(dāng)方法里面的參數(shù)發(fā)生變化:比如舊的代碼:
- f(int a)->(int a,int b)
如果是這種的改造的話,消費(fèi)者代碼和服務(wù)者代碼都的改變,服務(wù)需要重新部署,版本號升不升級已經(jīng)作用不大。
2.接口里面增加新的方法:
舉例:
- Public interface A{
- Integer f a(int b);
- }
- 升級為:
- Public interface A{
- Integer f a(int b);
- String f c (String d);
此時應(yīng)該版本升級,1.0.0->1.0.1,此種版本升級是為了避免非本地環(huán)境的其他環(huán)境服務(wù)重啟引用同一個包而沒有實(shí)現(xiàn)新方法導(dǎo)致構(gòu)建失敗的情況發(fā)生。
3.服務(wù)增加新的接口:
舉例子:
- Public interface A{
- Integer f a(int b);
- }
- 增加:
- Public interface A{
- Integer f a(int b);
- }
- Public interface B{
- Integer f c(int d);
- }
此種服務(wù)中增加新的接口文件,無論版本是否升級不會造成沖突無法構(gòu)建的情況發(fā)生。
總結(jié)
雖然說版本升級是一件小事情,但是如果不注意的話還會產(chǎn)生很大的項(xiàng)目問題,導(dǎo)致服務(wù)無法啟動的情況發(fā)生,如果你有不同的想法,歡迎關(guān)注我的公眾號:Java時間屋 隨時交流。
網(wǎng)頁標(biāo)題:Dubbo的API包什么時候需要升級版本號?
地址分享:http://m.5511xx.com/article/dhhheec.html


咨詢
建站咨詢
