国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

讀發(fā)布!設(shè)計(jì)與部署穩(wěn)定的分布式系統(tǒng)(第2版)筆記31_版本問題

這篇具有很好參考價(jià)值的文章主要介紹了讀發(fā)布!設(shè)計(jì)與部署穩(wěn)定的分布式系統(tǒng)(第2版)筆記31_版本問題。希望對大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

讀發(fā)布!設(shè)計(jì)與部署穩(wěn)定的分布式系統(tǒng)(第2版)筆記31_版本問題文章來源地址http://www.zghlxwxcb.cn/news/detail-646261.html

1.?在軟件與外部環(huán)境之間的許多交匯點(diǎn)上,版本控制基本上處于混亂狀態(tài)

1.1.?不應(yīng)該為了更新自身系統(tǒng)的API,而讓服務(wù)消費(fèi)者被迫與你同時(shí)發(fā)布新版本

1.2.?多數(shù)服務(wù)新版本的發(fā)布應(yīng)該具有兼容性

2.?分層的“約定”棧

2.1.?連接握手和持續(xù)時(shí)間

2.2.?請求組幀

2.3.?內(nèi)容編碼

2.4.?消息語法

2.5.?消息語義

2.6.?鑒權(quán)和身份驗(yàn)證

3.?對請求要協(xié)變

3.1.?covariant request

4.?對響應(yīng)要逆變

4.1.?contravariant response

5.?即

5.1.?可以比以往提出的要求更少

5.2.?可以比以往接受的可選信息更多

5.3.?可以比以往返回的響應(yīng)更多

5.4.?可以類比必填參數(shù)和可選參數(shù)

6.?安全的變更

6.1.?在參數(shù)上強(qiáng)制執(zhí)行以前所需約束的子集

6.2.?返回以前可返回值的超集

6.3.?接受以前可以接受的參數(shù)的超集

6.4.?要求必須填寫以前必填參數(shù)的一個(gè)子集

7.?生成式測試技術(shù)

8.?破壞API的變更

8.1.?減少API破壞性變更影響的第一個(gè)先決條件是在請求和回復(fù)消息格式中添加一個(gè)版本號字段

8.2.?為URL添加版本辨別字段,可以用前綴形式或查詢參數(shù)來實(shí)現(xiàn)

8.2.1.?同一實(shí)體的不同表示看起來像是不同的資源,而這在REST世界中是禁忌

8.3.?使用PUT和POST上的Content-Type標(biāo)頭指示正在發(fā)送的版本

8.3.1.?可以為版本定義一個(gè)媒體類型application/vnd.lendzit.loan-request.v1和一個(gè)新的媒體類型application/vnd.lendzit.loan-request.v2

8.3.2.?優(yōu)點(diǎn)

8.3.2.1.?在數(shù)據(jù)庫中存儲的所有URL都可以繼續(xù)工作,客戶端無須更改路由就可升級

8.3.3.?缺點(diǎn)

8.3.3.1.?單單憑借URL已經(jīng)不夠區(qū)分版本了,像application/json和text/xml這樣的通用媒體類型根本提供不了任何幫助

8.3.3.2.?客戶端必須事先知道存在這種特殊的媒體類型,以及所有允許的媒體類型

8.3.3.3.?一些框架雖然支持基于媒體類型的路由,但配置起來會(huì)有難度

8.4.?僅針對PUT和POST,在請求正文中添加一個(gè)字段來指示預(yù)期版本

8.4.1.?優(yōu)點(diǎn)是不需要路由,易于實(shí)施

8.4.2.?缺點(diǎn)是無法涵蓋所需要的所有場景

8.5.?使用特定于應(yīng)用程序的自定義標(biāo)頭指示所需的版本

8.5.1.?可以定義一個(gè)類似api-version的標(biāo)頭

8.5.2.?優(yōu)點(diǎn)是具有完全的靈活性,并且與媒體類型和URL正交

8.5.3.?缺點(diǎn)

8.5.3.1.?要為特定框架編寫路由處理器

8.5.3.2.?這個(gè)標(biāo)頭是另一個(gè)必須與服務(wù)消費(fèi)者分享的秘密

8.6.?服務(wù)提供方都必須在一段時(shí)間內(nèi)同時(shí)支持舊版本和新版本

8.7.?如果要在一些URL中添加版本信息,那么務(wù)必同時(shí)在所有路由中都添加這個(gè)版本

8.7.1.?即使這次變更只涉及一個(gè)路由,也不要強(qiáng)制用戶記住哪些版本號對應(yīng)哪些API

8.8.?只要不影響未來進(jìn)行的變更,盡可能地減少代碼重復(fù)

9.?處理其他系統(tǒng)的版本問題

9.1.?軟件應(yīng)該保持杞人憂天的狀態(tài)

9.2.?雖然請求規(guī)范中添加了一些新字段,但并不意味著所有人都會(huì)遵守新規(guī)范

9.3.?請求端與響應(yīng)端檢查自己是否符合規(guī)范

9.4.?將測試分為不同的部分,有助于隔離通信中的故障,并能使代碼更加穩(wěn)健

9.4.1.?我們不會(huì)再對另一方的行為做出不合理的假設(shè)

到了這里,關(guān)于讀發(fā)布!設(shè)計(jì)與部署穩(wěn)定的分布式系統(tǒng)(第2版)筆記31_版本問題的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包