可遷移
在我們開發(fā)平臺項目的時候,如果涉及到不少數(shù)據(jù)與環(huán)境無關(guān),那平臺項目必須具備環(huán)境遷移能力;
- 數(shù)據(jù)庫腳本遷移(無緩存的可使用,自增id當(dāng)業(yè)務(wù)id的慎用)
- 頁面上導(dǎo)入導(dǎo)出(需要一定開發(fā)量,需要做導(dǎo)出文檔驗證等邏輯,適合有緩存或者處理邏輯的初始化)
舉例: 統(tǒng)一權(quán)限平臺,會涉及到很多服務(wù)的資源角色菜單等數(shù)據(jù)需要人工或腳本錄入,如果平臺不支持遷移功能,那這個工作量會非常大,而且人工操作無法保證0風(fēng)險。
可灰度
平臺級項目需要保證高度可用,測試環(huán)境同樣的操作可行,并不代表在生產(chǎn)環(huán)境同樣操作就可以達(dá)到同樣效果,所以平臺必須具備生產(chǎn)灰度的能力,保證同樣環(huán)境下沒有問題才能正式應(yīng)用于生產(chǎn)。
- 提供灰度測試能力
舉例: 短信平臺,如果生產(chǎn)環(huán)境沒有預(yù)先灰度測試短信模板,如果在高并發(fā)的項目下直接接入,短時間會造成大量的錯誤,無法發(fā)出或者發(fā)出錯誤的結(jié)果。
可限流降級
平臺級項目要保證可靠,如果有非正常的流量,應(yīng)該具備針對流量入口能做到精準(zhǔn)限流與降級處理
- 針對接入側(cè)指定控制(比如通過client或租戶做攔截)
舉例:在saas服務(wù)服務(wù)中,如果有非法租戶非法高頻率調(diào)用接口,那應(yīng)該具備針對該租戶限流拉黑降級的能力,防止影響其他租戶。
可回滾
平臺項目要保證發(fā)版后能兼容舊的接入方,所以必然要保證如果發(fā)版發(fā)生問題可以最快回滾,保證舊版本不受影響。
- 版本兼容(新增功能表修改、邏輯調(diào)整必須考慮對舊的版本的影響,版本回滾要考慮數(shù)據(jù)修復(fù)很問題)