工作記錄 老功能下線方案

2021-09-01 18:59:58 字數 1354 閱讀 5014

新功能要上線,老功能該如何下線呢,下面列舉一些具體方案的對比說明:

一、從相容性上考慮:

方案名稱

說明優點

缺點新介面完全相容老介面

1、最好的辦法,客戶端無需做處理

2、需要服務端在介面資料結構設計上,要考慮到擴充套件性的需求,對服務端介面設計要求比較高

1、可以下線老的介面

2、資料能夠最大程度和新版保持一致

無新介面適配老介面

1、也是比較好的方法,客戶端無需做處理

2、服務端會增加一部分工作量

1、可以下線老的介面

2、能夠保證資料正確,但不保證新功能被支援

1、需要對輸出的資料結構進行轉換

新介面無法適配老介面

如果老的介面不能下線,後期維護成本大

無1、維護多套老介面,成本非常大,沒有優點可言,可見介面設計是很重要的

二、從下線角度考慮:

方案名稱

說明優點

缺點按比例切換老介面

如,根據userid取模,老介面以一定的百分比逐步下線

按比例隨機返回錯誤提示

如,訪問老功能,隨機出現錯誤提示』該介面已下線『等等。

1、不讓某個使用者一直失敗,但又通過一定比例通知到使用者該介面即將廢棄。

1、使用者也可能會認為是系統問題

在一定時間段,按比例隨機返回錯誤提示

某乙個時間段內,執行方案2

1、盡量降低方案2的負面影響

1、按比例切換

//缺省會切換20%的使用者

long userid = getbuyerid();

int mod = (int)userid%100+1;

int rate = integer.parseint(getconfigratevalue(20));//預設20%

if(mod<=rate)

return true;

2、在一定時間段,隨機給出錯誤提示

int hour = calendar.get(calendar.hour_of_day);

if 'hour' is in this period

string period = getconfighourperiod()//12-18

string hourperiod = period.split("-");

int start = integer.parseint(hourperiod[0]);

int end = integer.parseint(hourperiod[1]);

if(hour >=start && hour<=end)

}return false;

老員工的工作心得

一 工作中脫穎而出的三要素 1.在旋窩中心工作 乙個人應該主動去做核心業務,主動去解決核心問題 這些業務和問題是公司管理層最關注的,如果你做出成績,最容易被看到 2.成為解決問題的高手 為了讓自己成為解決問題的高手,你一方面得在某個專業方向上有深度積累,這個只能學習學習再學習,實踐實踐再實踐 另一方...

功能函式記錄

include int execlp const char file,const char arg,char 0 函式說明 execlp 會從path 環境變數所指的目錄中查詢符合引數file的檔名,找到後便執行該檔案,然後將第二個以後的引數當做該檔案的argv 0 argv 1 最後乙個引數必須用...

日誌記錄功能

給自己的程式,加上記錄日誌的功能。以下是c 可以直接複製使用的。1 using system 2using system.collections.generic 3using system.text 4using system.io 56 namespace pingmock 7 3132 33 判...