服務(wù)管理到底管什么?
我們談服務(wù)管理蹬屹,管理的是服務(wù),落在實(shí)現(xiàn)層面實(shí)際管理的就是數(shù)據(jù)白华,那我們來看看服務(wù)包含哪些方面的數(shù)據(jù)呢慨默?
服務(wù)的靜態(tài)數(shù)據(jù)
從結(jié)構(gòu)和約束來梳理,主要包含如下幾個(gè)方面:
-
服務(wù)風(fēng)格
關(guān)于服務(wù)風(fēng)格衬鱼,上面已經(jīng)做過簡單陳述业筏,包含常見的RPC憔杨、REST鸟赫、GraphQL、服務(wù)端驅(qū)動(dòng)(Webhook)等多種類型消别。
-
參數(shù)(請(qǐng)求&響應(yīng)參數(shù))
參數(shù)部分可以說是一個(gè)服務(wù)的骨干組成部分抛蚤,是其功能約束的核心,具體來看其結(jié)構(gòu)可以拆解分析如下:
結(jié)構(gòu)類型:約定出入?yún)⒌恼w結(jié)構(gòu)類型寻狂,常見的有:JSON岁经、String、XML蛇券、MAP缀壤、Object對(duì)象
參數(shù)組成:按照參數(shù)職能劃分,可以劃分為基本協(xié)議參數(shù)纠亚、業(yè)務(wù)參數(shù)塘慕,協(xié)議參數(shù)封裝的是可提取抽象的公共參數(shù),常見的有公共頭信息(版本蒂胞、IP图呢、來源、時(shí)間等);業(yè)務(wù)參數(shù)即完成當(dāng)前服務(wù)能力/動(dòng)作所需要的業(yè)務(wù)輸入和輸出信息蛤织。
參數(shù)類型:包含常見的數(shù)據(jù)類型結(jié)構(gòu)以及自定義類型(基本類型赴叹、List、Map指蚜、自定義對(duì)象等)
參數(shù)約束:如非空限制乞巧、長度限制、字段字符類型限制摊鸡、值域范圍限制等
-
響應(yīng)碼設(shè)計(jì)
響應(yīng)碼屬于參數(shù)的一部分摊欠,這里單獨(dú)出來講,為的是體現(xiàn)其獨(dú)特的地位柱宦。在所有的響應(yīng)參數(shù)里面些椒,響應(yīng)碼可以說是最至關(guān)重要的一個(gè)參數(shù),絕大部分情況下它決定了該服務(wù)的核心關(guān)鍵邏輯部分掸刊。這里單獨(dú)強(qiáng)調(diào)如下一點(diǎn):
- 全局碼規(guī)劃:響應(yīng)碼的規(guī)劃宜早不宜遲免糕,良好的響應(yīng)碼規(guī)劃需要保持合理的結(jié)構(gòu)以及必要的擴(kuò)展性,以有效支撐后續(xù)業(yè)務(wù)的發(fā)展和系統(tǒng)的建設(shè)忧侧;要能快速鎖定問題類型石窑、問題的嚴(yán)重程度、問題歸屬系統(tǒng)以及服務(wù)蚓炬。
-
非功能性約束
非功能性約束是為滿足服務(wù)需求而必須具有且除功能約束以外的特性松逊,主要包含內(nèi)容如下:
- SLA:成功率、平均時(shí)延肯夏、錯(cuò)誤調(diào)用次數(shù)经宏、吞吐量,該部分定義了服務(wù)的性能以及可用性指標(biāo)驯击,即向服務(wù)客戶承諾的服務(wù)質(zhì)量烁兰。
- 安全性:加密、加簽徊都、編碼類型沪斟,該部分根據(jù)服務(wù)安全需求選擇,非必要
- 冪等性:該部分描述服務(wù)是否支持冪等(任意多次執(zhí)行所產(chǎn)生的影響均與一次執(zhí)行的影響相同)暇矫,非必要
-
服務(wù)歸屬
服務(wù)歸屬定義服務(wù)歸屬的應(yīng)用/系統(tǒng)/平臺(tái)/組織主之,明確服務(wù)歸屬可以有效減少溝通成本
-
服務(wù)上下游依賴
記錄服務(wù)間的上下游依賴關(guān)系
-
其他部分
- 服務(wù)描述:名稱、簡述等李根,從宏觀上給服務(wù)客戶提供對(duì)于此服務(wù)的基本介紹槽奕。
- 服務(wù)分組:為便于管理和可視化,將同類服務(wù)進(jìn)行分組可有效降低管理成本以及學(xué)習(xí)成本朱巨。
剖析清楚服務(wù)的靜態(tài)定義組成后史翘,我們?cè)倏词裁疵鞔_一個(gè)服務(wù)還涉及其他的方面內(nèi)容嗎?
既然提到的服務(wù)的靜態(tài)定義數(shù)據(jù),那當(dāng)然還有服務(wù)的動(dòng)態(tài)定義數(shù)據(jù)琼讽,其實(shí)服務(wù)的動(dòng)態(tài)數(shù)據(jù)部分也是需要管理的范疇必峰,何謂服務(wù)的動(dòng)態(tài)部分呢,這部分主要指的就是服務(wù)的整個(gè)生命周期里涉及的過程以及控制流程钻蹬,同樣的吼蚁,我們來看看,服務(wù)全生命周期包含哪些過程和控制流程呢:
服務(wù)全生命周期過程
顧名思義问欠,服務(wù)全生命周期過程是指服務(wù)從誕生到消亡的整個(gè)過程肝匆,按照時(shí)間順序我們可以預(yù)見的核心過程主要有如下方面:
- 定義:規(guī)劃定義服務(wù)歸屬應(yīng)用以及系統(tǒng)
- 設(shè)計(jì):確定服務(wù)的輸入輸出、上下游依賴關(guān)系等靜態(tài)定義部分
- 開發(fā):實(shí)現(xiàn)具體的服務(wù)
- 測試:測試服務(wù)功能顺献,確保邏輯合理性
- 上線:服務(wù)發(fā)布上線
- 運(yùn)行:服務(wù)在線運(yùn)行
- 迭代:對(duì)服務(wù)進(jìn)行優(yōu)化升級(jí)
- 下線:下線銷毀服務(wù)
服務(wù)全生命周期控制流程
那與之匹配的服務(wù)全生命周期控制過程又該包含哪些呢旗国?服務(wù)在整個(gè)生命周期,新增注整、變更能曾、調(diào)用、上線肿轨、迭代寿冕、下線都會(huì)對(duì)關(guān)聯(lián)的服務(wù)造成影響,為確保服務(wù)質(zhì)量控制風(fēng)險(xiǎn)椒袍,我們要在關(guān)鍵過程點(diǎn)上加必要的控制流程:
- 服務(wù)新增流程
- 服務(wù)變更流程
- 服務(wù)調(diào)用申請(qǐng)流程
- 服務(wù)上線流程
- 服務(wù)下線流程
具體各流程該如何設(shè)計(jì)驼唱,如何規(guī)范,后面的章節(jié)(參見下一章節(jié))我們具體討論驹暑。
明確了服務(wù)的組成玫恳,我們就清晰了解了我們具體該管什么,服務(wù)管理基本的功能結(jié)構(gòu)也就清晰的呈現(xiàn)在我們的面前: