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

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


咨詢
建站咨詢
