




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、 轉(zhuǎn)向微服務(wù)的8條建議 田茜向微服務(wù)的轉(zhuǎn)變代表著應(yīng)用程序開發(fā)的巨變。以下是如何解開這種大轉(zhuǎn)變的復(fù)雜性。如今新應(yīng)用程序的開發(fā)都與交付速度有關(guān)。向敏捷環(huán)境的大規(guī)模轉(zhuǎn)移已經(jīng)持續(xù)了數(shù)年,這促使人們有了輕松快速地部署軟件的意識(shí)。微服務(wù)是面向服務(wù)的體系結(jié)構(gòu)(soa)的一種變體,它將應(yīng)用程序構(gòu)建為松散耦合服務(wù)的集合。將應(yīng)用程序拆分為更小服務(wù)的好處是:改進(jìn)了模塊化、使應(yīng)用程序更易于開發(fā)和測(cè)試?!拔⒎?wù)增強(qiáng)了團(tuán)隊(duì)授權(quán),減少了耦合,使各個(gè)團(tuán)隊(duì)能更快地進(jìn)行創(chuàng)新,減少跨團(tuán)隊(duì)之間的溝通,并且有權(quán)自己做出有關(guān)架構(gòu)、語言和框架的決策。”verizon媒體集團(tuán)(verizo
2、n media group)工程、體育及媒體制作工程副總裁坎貝爾說道,該集團(tuán)是擁有50個(gè)在線品牌的通信公司的子公司??藏悹栒f:“我們看到隨著團(tuán)隊(duì)采用微服務(wù),從提交到制作的周期時(shí)間顯著縮短。”“許多團(tuán)隊(duì)每天多次部署微服務(wù),無需任何人工干預(yù),依靠測(cè)試、代碼審查和復(fù)雜的持續(xù)集成/持續(xù)交付(ci/cd)管道來確保變更內(nèi)容的安全交付?!痹摴镜摹皔ahoo daily fantasy”產(chǎn)品含有多個(gè)微服務(wù),包括核心游戲服務(wù)、體育數(shù)據(jù)服務(wù)、錢包服務(wù)和一些支持內(nèi)部服務(wù)?!斑@些服務(wù)中的每一個(gè)都有自己的持續(xù)部署管道、獨(dú)立的數(shù)據(jù)存儲(chǔ)以及負(fù)責(zé)其開發(fā)和運(yùn)營的各自團(tuán)隊(duì)?!笨藏悹栒f。使用微服務(wù)時(shí),各個(gè)組織可能會(huì)遇到許多挑戰(zhàn)
3、。這些挑戰(zhàn)包括確定多個(gè)服務(wù)之間的正確邊界,克服微服務(wù)環(huán)境中團(tuán)隊(duì)之間共享代碼的困難,以及克服變更管理的復(fù)雜性,因?yàn)楦鲌F(tuán)隊(duì)都是獨(dú)立發(fā)布代碼。轉(zhuǎn)向微服務(wù)代表著一場(chǎng)大變革,各個(gè)組織需要做好應(yīng)對(duì)這種重大轉(zhuǎn)變的準(zhǔn)備?!跋蛭⒎?wù)的演變就像是從馬到自行車,或從自行車到汽車的過程。”solutions by design ii(sbd)公司項(xiàng)目副經(jīng)理jay bercher說道,這是一家管理咨詢和技術(shù)服務(wù)公司,與聯(lián)邦機(jī)構(gòu)合作,協(xié)助其轉(zhuǎn)向基于微服務(wù)的it工作方式?!爱?dāng)我們經(jīng)歷演變的多個(gè)階段時(shí),我們會(huì)發(fā)現(xiàn)有更多的東西在變化,”bercher說,“每個(gè)變化的東西都需要一定級(jí)別的維護(hù),對(duì)這么多方面的支持和監(jiān)督不僅使解決方
4、案更加復(fù)雜,而且還增加了相關(guān)成本。因此,我們必須仔細(xì)審查我們的決定,以確保這些決定不僅是最佳的技術(shù)決策,而且還具有成本效益?!绷硪粋€(gè)挑戰(zhàn)是安全性?!拔覀儽仨毚_定是否要在整個(gè)應(yīng)用程序中實(shí)施單一驗(yàn)證解決方案,或者我們是否要對(duì)每個(gè)微服務(wù)都設(shè)置其自己的驗(yàn)證流程,”bercher說,“這是一個(gè)必須根據(jù)具體情況做出的決定,并且是每個(gè)項(xiàng)目團(tuán)隊(duì)需要自己做出的決定。”以下是一些應(yīng)對(duì)挑戰(zhàn)并在微服務(wù)環(huán)境中可以順利發(fā)展的最佳做法。1.采用領(lǐng)域驅(qū)動(dòng)設(shè)計(jì)bercher說,創(chuàng)建微服務(wù)是為了使服務(wù)松散耦合,并應(yīng)用單一責(zé)任原則。“盡管有各種開發(fā)方式和方法,但領(lǐng)域驅(qū)動(dòng)設(shè)計(jì)和微服務(wù)似乎是完美組合,”bercher說,sbd公司的團(tuán)
5、隊(duì)使用領(lǐng)域驅(qū)動(dòng)設(shè)計(jì),這是一種構(gòu)建應(yīng)用程序的主題方法,可創(chuàng)建一種高效的開發(fā)模式,消除大多數(shù)團(tuán)隊(duì)的相互依賴性?!霸谖覀兊墓ぷ髦?,領(lǐng)域與微服務(wù)的相關(guān)性基本上是一對(duì)一的,”bercher說,“因此,每個(gè)開發(fā)團(tuán)隊(duì)都負(fù)責(zé)一個(gè)領(lǐng)域,同時(shí)也負(fù)責(zé)開發(fā)相應(yīng)的微服務(wù)。這就建立了明確的責(zé)任劃分,從而限制了并行開發(fā)工作中可能出現(xiàn)的冗余。”2.建立代碼庫指南坎貝爾說,在微服務(wù)環(huán)境下,團(tuán)隊(duì)之間共享代碼相對(duì)困難得多?!安幌裨谝粋€(gè)整體架構(gòu)中,公共代碼只是一個(gè)方法調(diào)用,而微服務(wù)架構(gòu)的通用性必須分解到獨(dú)立的服務(wù)中,或者代碼必須打包到一個(gè)共享庫中?!笨藏悹栒f。使用這些庫通常很慢,并且進(jìn)行更改需要在庫所有者和多個(gè)服務(wù)之間進(jìn)行協(xié)調(diào)?!耙?/p>
6、此,對(duì)于公共庫和上線產(chǎn)品的要求,各個(gè)組織應(yīng)采用一套強(qiáng)有力的指導(dǎo)方針,這非常重要?!笨藏悹栒f。3.不要在微服務(wù)之間共享數(shù)據(jù)庫“在構(gòu)建我們的解耦合服務(wù)時(shí),我們?cè)试S開發(fā)團(tuán)隊(duì)構(gòu)建自己的數(shù)據(jù)庫,為我們的后端系統(tǒng)提供數(shù)據(jù),這可限制對(duì)其他開發(fā)團(tuán)隊(duì)的依賴性?!眀ercher說?!拔覀兊拈_發(fā)團(tuán)隊(duì)將他們書寫的內(nèi)容推送到后端,供其他人使用,然后我們的數(shù)據(jù)團(tuán)隊(duì)會(huì)管理這些信息?!眀ercher說,“這延續(xù)了即插即用的概念,如果您需要更換某一服務(wù),只需將其取出并插入新服務(wù)即可。這就像更換燈泡,只是稍微復(fù)雜一點(diǎn)?!庇捎谖⒎?wù)在設(shè)計(jì)上是模塊化的,因此開發(fā)過程主要是即插即用,從而可以非常輕松地解決可能出現(xiàn)的任何問題?!耙?yàn)榇a
7、不會(huì)在整個(gè)平臺(tái)上傳播,我們可以快速將問題隔離到一個(gè)特定的源,然后在微服務(wù)中對(duì)其跟蹤,”bercher說,“通過允許對(duì)每個(gè)微服務(wù)進(jìn)行零碎的更新和升級(jí),可以輕松更新應(yīng)用程序。你能想象一次升級(jí)一個(gè)系統(tǒng)而不進(jìn)行大規(guī)模替換嗎?僅這一概念就徹底改變了系統(tǒng)開發(fā)。”sbd公司在美國各地都設(shè)有開發(fā)團(tuán)隊(duì),可以增強(qiáng)微服務(wù)的優(yōu)勢(shì)。位于南卡羅來納州查爾斯頓的團(tuán)隊(duì)成員具有更高的開發(fā)獨(dú)立性,因?yàn)樗麄冋陂_發(fā)自己的微服務(wù),并可將其加入解決方案中。4.解決安全問題與it相關(guān)的任何其他事情一樣,微服務(wù)也有自己的安全問題?!捌髽I(yè)應(yīng)該在軟件開發(fā)生命周期的早期就要頻繁地查找已知的漏洞。”電子商務(wù)、支付和營銷服務(wù)提供商數(shù)字湖公司(dig
8、ital river)的首席信息官瑞恩·道格拉斯說,“對(duì)于我們?cè)诳旃?jié)奏環(huán)境中工作的任何it團(tuán)隊(duì)來說,一個(gè)重要信條是識(shí)別和修復(fù)本地解決方案以及第三方軟件的漏洞。這對(duì)維護(hù)安全至關(guān)重要。對(duì)軟件生態(tài)系統(tǒng)采取全局方法,了解它如何協(xié)同工作以及潛在問題區(qū)域所在,這是至關(guān)重要的?!钡栏窭拐f:“使用微服務(wù)時(shí),軟件補(bǔ)丁部署更容易測(cè)試。而且這不僅適用于自己開發(fā)的代碼,it工程師可以在自己開發(fā)軟件的同時(shí)測(cè)試第三方軟件的漏洞。一旦發(fā)現(xiàn)漏洞,可以比以前的單一代碼結(jié)構(gòu)更快地部署修復(fù)程序?!?.避免出現(xiàn)復(fù)雜情況dxc technology公司是在csc公司和惠普企業(yè)部門合并后成立的一家it服務(wù)提供商,公司的應(yīng)用服
9、務(wù)首席技術(shù)官jp morgenthal說,復(fù)雜情況在大型微服務(wù)部署中很容易發(fā)生?!叭绻M織機(jī)構(gòu)沒有謹(jǐn)慎地確保某一系統(tǒng)架構(gòu)來推動(dòng)微服務(wù)的使用,甚至可能存在遞歸數(shù)據(jù)路徑,”morgenthal說,“在使用獨(dú)立的跨職能團(tuán)隊(duì)和服務(wù)存儲(chǔ)庫時(shí),可能會(huì)出現(xiàn)依賴關(guān)系,從而導(dǎo)致微服務(wù)原則失效?!薄皯?yīng)該能夠更改或刪除單個(gè)微服務(wù),而不會(huì)對(duì)整個(gè)系統(tǒng)產(chǎn)生重大影響?!眒orgenthal表示,最佳做法是使用企業(yè)架構(gòu)來驗(yàn)證微服務(wù)設(shè)計(jì)。6.考慮從頭開始構(gòu)建應(yīng)用程序房地產(chǎn)服務(wù)提供商carrington mortgage holdings推出的直接面向消費(fèi)者的抵押貸款平臺(tái)v,該平臺(tái)最近將其技術(shù)架構(gòu)轉(zhuǎn)移到微服務(wù)?!爱?dāng)我們決定遷移到
10、微服務(wù)時(shí),遇到的挑戰(zhàn)之一是,是否要逐個(gè)拆分應(yīng)用程序或進(jìn)行完全重寫?!眂arrington mortgage公司首席技術(shù)官約翰·尼古拉斯說?!坝捎谝恍╊A(yù)先設(shè)定的業(yè)務(wù)需求,我們需要在很短的時(shí)間內(nèi)提供新功能,”尼古拉斯說,“起初,我們?cè)噲D通過一些成功的結(jié)果整合到整體架構(gòu)中。然而,我們也知道,將應(yīng)用程序拆分會(huì)比重寫我們現(xiàn)有的大部分功能更加困難?!笨紤]到這一點(diǎn),開發(fā)團(tuán)隊(duì)決定最好的前進(jìn)方向是從頭開始構(gòu)建新的應(yīng)用程序?!斑@是一項(xiàng)艱巨的任務(wù),需要我們所有團(tuán)隊(duì)成員付出巨大努力,但自從做出這種轉(zhuǎn)變后,在短時(shí)間內(nèi)就證明了這是值得的?!蹦峁爬拐f。尼古拉斯表示,由于成功部署微服務(wù)需要大量的技術(shù)投資,因此重要
11、的是,必須有一個(gè)明確定義的商業(yè)案例來概述新技術(shù)如何提高性能或提高運(yùn)營效率。“這里的關(guān)鍵是找到合適的人才,”尼古拉斯說,“找到有經(jīng)驗(yàn)的工程師能輕松完成這一工作并不容易。我們已經(jīng)能夠建立一個(gè)強(qiáng)大的工程團(tuán)隊(duì),了解正確的架構(gòu),并且有一支強(qiáng)大的質(zhì)量保證團(tuán)隊(duì),圍繞應(yīng)用程序構(gòu)建自動(dòng)化測(cè)試?!?.進(jìn)行擴(kuò)展時(shí),需衡量其性能通過添加服務(wù)器,可對(duì)整體應(yīng)用程序進(jìn)行全面擴(kuò)展以滿足需求的飆升,spotcues公司的聯(lián)合創(chuàng)始人praveen kanyadi表示,該公司利用人工智能提供生產(chǎn)力軟件。“對(duì)于微服務(wù)來說,模塊化架構(gòu)只允許對(duì)系統(tǒng)的某些部分進(jìn)行擴(kuò)展,”kanyadi說,“然而,微服務(wù)需要一種非常不同的擴(kuò)展方法,因?yàn)榈湫偷奈⒎?wù)架構(gòu)部署可能包含在不同服務(wù)器上運(yùn)行的多個(gè)組件以及虛擬化協(xié)同工作?!边@就增加了在識(shí)別哪些單個(gè)組件升級(jí)方面的挑戰(zhàn)。kanyadi說:“這是衡量性能變得至關(guān)重要的地方,而像應(yīng)用程序交付控制器等工具可以幫助測(cè)量和檢測(cè)性能問題?!眐anyadi表示,企業(yè)還應(yīng)考慮根據(jù)業(yè)務(wù)優(yōu)先級(jí)為每個(gè)微服務(wù)的性能和可靠性定義服務(wù)水平協(xié)議(sla)。8.專注于變革管理企業(yè)需要
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 節(jié)后安全教育
- 土路基施工合同范本
- 環(huán)保教育班會(huì)
- Unit 6 A Lets talk基于深度學(xué)習(xí)的教學(xué)課件
- 纖璐美容行業(yè)分析
- 河北工業(yè)職業(yè)技術(shù)大學(xué)《楷書臨摹》2023-2024學(xué)年第二學(xué)期期末試卷
- 京津魯瓊版2025版高考語文二輪復(fù)習(xí)專題五針對(duì)提升二文化常識(shí)須記牢學(xué)會(huì)聯(lián)想是妙招-不聯(lián)想不推斷易出錯(cuò)教案
- 廣州珠江職業(yè)技術(shù)學(xué)院《汽車營銷與保險(xiǎn)》2023-2024學(xué)年第二學(xué)期期末試卷
- 燕山大學(xué)里仁學(xué)院《影視技術(shù)》2023-2024學(xué)年第二學(xué)期期末試卷
- 內(nèi)蒙古通遼市??狄恍?025年小升初總復(fù)習(xí)數(shù)學(xué)精練含解析
- 天星鄉(xiāng)養(yǎng)羊項(xiàng)目績效評(píng)價(jià)報(bào)告
- GB/T 39489-2020全尾砂膏體充填技術(shù)規(guī)范
- 《民法》全冊(cè)精講課件
- 廠內(nèi)機(jī)動(dòng)車輛課件
- 四川方言詞典(教你說一口地道的四川話)
- 企業(yè)標(biāo)準(zhǔn)編寫模板
- 《新媒體運(yùn)營》考試參考題庫(含答案)
- 學(xué)校食堂餐廚具操作規(guī)程
- DB32T 3916-2020 建筑地基基礎(chǔ)檢測(cè)規(guī)程
- 自動(dòng)控制原理全套課件
- 工程經(jīng)濟(jì)學(xué)武獻(xiàn)華第5版答案
評(píng)論
0/150
提交評(píng)論