自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

Dubbo的API包什么時候需要升級版本號?

開發(fā) 前端
盡管現(xiàn)在SpringCloud現(xiàn)在盛行市場,但是使用的dubbo的公司也大量存在,之前我使用SpringCloud的時候也借鑒了dubbo的api的架構(gòu),直接@FeignClient("classServer")注入接口的實例,完成微服務(wù)之間的調(diào)用。
本文轉(zhuǎn)載自微信公眾號「Java時間屋」,作者Jack佳 。轉(zhuǎn)載本文請聯(lián)系Java時間屋公眾號。
  • 1.接口里面方法的參數(shù)發(fā)生變化:
  • 2.接口里面增加新的方法:
  • 3.服務(wù)增加新的接口:

前言

盡管現(xiàn)在SpringCloud現(xiàn)在盛行市場,但是使用的dubbo的公司也大量存在,之前我使用SpringCloud的時候也借鑒了dubbo的api的架構(gòu),直接@FeignClient("classServer")注入接口的實例,完成微服務(wù)之間的調(diào)用。架構(gòu)如下:

就是借鑒了dubbo的api在controller層抽象出來一層接口。我算是同時使用過SpringCloud和Dubbo,二者確實都有優(yōu)缺點,不是這篇文章討論的重點,這篇文章主要討論下我們使用dubbo的時候什么時候升級版本號。

1.接口里面方法的參數(shù)發(fā)生變化:

當(dāng)方法里面的參數(shù)發(fā)生變化:比如舊的代碼:

  1. f(int a)->(int a,int b) 

如果是這種的改造的話,消費者代碼和服務(wù)者代碼都的改變,服務(wù)需要重新部署,版本號升不升級已經(jīng)作用不大。

2.接口里面增加新的方法:

舉例:

  1. Public interface A{ 
  2.      
  3.    Integer  f a(int b); 
  4.  
  5.      
  6. 升級為: 
  7.  
  8. Public interface A{ 
  9.      
  10.   Integer  f a(int b); 
  11.      
  12.   String  f c (String d); 
  13.      

此時應(yīng)該版本升級,1.0.0->1.0.1,此種版本升級是為了避免非本地環(huán)境的其他環(huán)境服務(wù)重啟引用同一個包而沒有實現(xiàn)新方法導(dǎo)致構(gòu)建失敗的情況發(fā)生。

3.服務(wù)增加新的接口:

舉例子:

  1. Public interface A{ 
  2.      
  3.    Integer  f a(int b); 
  4.  
  5.      
  6. 增加: 
  7. Public interface A{ 
  8.      
  9.    Integer  f a(int b); 
  10.  
  11.      
  12. Public interface B{ 
  13.      
  14.    Integer  f c(int d); 
  15.  
  16.      

此種服務(wù)中增加新的接口文件,無論版本是否升級不會造成沖突無法構(gòu)建的情況發(fā)生。

總結(jié)

雖然說版本升級是一件小事情,但是如果不注意的話還會產(chǎn)生很大的項目問題,導(dǎo)致服務(wù)無法啟動的情況發(fā)生,如果你有不同的想法,歡迎關(guān)注我的公眾號:Java時間屋 隨時交流。

 

責(zé)任編輯:武曉燕 來源: Java時間屋
相關(guān)推薦

2021-08-11 08:32:24

Firefox英特爾LLVM

2015-03-27 09:55:13

Android 5.1升級

2024-07-17 09:39:05

軟件版本號管理

2014-12-15 14:02:48

iOS版本號蘋果

2010-11-08 10:07:45

Chrome

2021-03-29 23:07:25

Windows 10Windows微軟

2023-01-09 17:46:07

項目版本號字段

2024-07-08 13:56:12

微服務(wù)API代碼

2020-05-12 11:25:50

MySQLES數(shù)據(jù)庫

2017-05-15 09:55:07

2010-02-06 13:49:08

Linux samba

2022-02-18 10:46:28

FirefoxChrome瀏覽器

2016-01-21 10:58:41

Node.js開發(fā)者

2015-07-22 10:09:59

Android M版本號

2023-02-27 14:51:40

MySQL數(shù)據(jù)庫

2017-03-30 16:56:43

Windows 10Windows版本號

2015-07-08 15:55:01

NSStringcopystrong

2018-09-10 09:05:17

微軟Windows 10系統(tǒng)更新

2009-08-04 08:36:54

Windows 7查看系統(tǒng)版本號

2010-06-30 16:41:02

識別SQL Serve
點贊
收藏

51CTO技術(shù)棧公眾號