新聞中心
采用微服務(wù)所帶來的諸多優(yōu)勢往往會在質(zhì)量層面引發(fā)一系列挑戰(zhàn)。微服務(wù)近來已經(jīng)成為優(yōu)步、Netflix、Spotify以及Amazon等眾多重量級廠商的優(yōu)先選擇。毫無疑問,這套架構(gòu)方案在軟件開發(fā)生命周期內(nèi)具備著巨大吸引力,但其帶來的諸多優(yōu)勢亦往往會在質(zhì)量層面引發(fā)一系列挑戰(zhàn)。

成都創(chuàng)新互聯(lián)公司專業(yè)為企業(yè)提供羅源網(wǎng)站建設(shè)、羅源做網(wǎng)站、羅源網(wǎng)站設(shè)計、羅源網(wǎng)站制作等企業(yè)網(wǎng)站建設(shè)、網(wǎng)頁設(shè)計與制作、羅源企業(yè)網(wǎng)站模板建站服務(wù),10多年羅源做網(wǎng)站經(jīng)驗,不只是建網(wǎng)站,更提供有價值的思路和整體網(wǎng)絡(luò)服務(wù)。
1.系統(tǒng)依賴性增加
根據(jù)定義,由整體式應(yīng)用或服務(wù)過渡至微服務(wù)架構(gòu)時會引入更多邏輯隔離組件。盡管這種拆分方式增加了縮放能力與靈活性水平,但亦引入更多依賴關(guān)系,使得系統(tǒng)整體更為復雜。具體來講,這意味著完整測試環(huán)境的配置與檢測指標更加難以衡量。
例如,假定我們設(shè)置的測試環(huán)境將原有應(yīng)用程序拆分為10項Web服務(wù)。為了便于討論,我們假設(shè)每項Web服務(wù)各自擁有10項操作,且每項操作具備自己的一項獨立微服務(wù)(10乘以10)。原本的測試環(huán)境只需要訪問初始的10項Web服務(wù),但如今新的測試環(huán)境則需要在全部測試場景中訪問100項經(jīng)過妥善配置的微服務(wù)。
2.并行開發(fā)障礙
系統(tǒng)依賴性的增加還會給微服務(wù)的并行開發(fā)工作造成影響。系統(tǒng)依賴性擴展會產(chǎn)生兩種瓶頸類型:團隊需要等待其它團隊以完整相關(guān)微服務(wù)的并行開發(fā),以及/或者團隊需要等待測試環(huán)境得到妥善配置(即包含全部相關(guān)微服務(wù)的正確版本)方可實現(xiàn)聚合、配置與設(shè)定。微服務(wù)數(shù)量越多,需要考慮的對象就越是廣泛,這意味著以并行方式開發(fā)及發(fā)布新功能就變得愈發(fā)困難。
3.影響傳統(tǒng)測試方法
傳統(tǒng)測試方法往往需要配合要求或者用戶背景,并通過UI測試進行驗證。而在微服務(wù)方面,我們則需要對測試策略進行整體變更,這意味著原有測試方法將不再適用。盡管通過UI實現(xiàn)的測試仍可在軟件開發(fā)生命周期末期順利起效,但微服務(wù)在消息層需要的方案無疑更加復雜。
另外,驗證各獨立微服務(wù)還只是***步。我們還需要通過現(xiàn)具分布式特性的微服務(wù)架構(gòu)檢查全部關(guān)鍵性事務(wù)的執(zhí)行路徑。由于微服務(wù)的目標之一在于實現(xiàn)快速變更,因此我們必須意識到:
- 與服務(wù)自身相關(guān)的素材會發(fā)生變化。
- 這種變化會影響到其它服務(wù)的依賴性。
- 這種變化會影響到關(guān)鍵性端到端事務(wù)。
- 這種變化會影響到最終用戶體驗。
- 需要在測試數(shù)據(jù)中引入更多新要求。
- 需要應(yīng)對更多非功能性要求,例如性能、可訪問性、可靠性以及彈性等等。
4.更多潛在故障點
微服務(wù)遷移的另一大負面影響在于引發(fā)大量獨立故障點?;氐街疤岬降暮唵闻e例,單一Web服務(wù)的失敗將影響全部10項操作。但在遷移后,拆分帶來的10項微服務(wù)各自都會在發(fā)生故障時影響其它9項服務(wù)。盡管微服務(wù)能夠利用隔離機制限定各獨立故障點的影響范圍,但開發(fā)測試人員必須意識到眾多活動組件所帶來的高度復雜性。
為了了解微服務(wù)變革給業(yè)務(wù)帶來的影響,開發(fā)測試團隊必須馬上對測試依賴性進行廣泛而嚴格的監(jiān)控。另外,開發(fā)測試團隊還需要能夠深入訪問采用這類高度模塊化、分布式體系架構(gòu)的測試環(huán)境。
分享標題:由微服務(wù)架構(gòu)帶來的四大質(zhì)量挑戰(zhàn)
鏈接分享:http://www.dlmjj.cn/article/cosgcoc.html


咨詢
建站咨詢
