轉(zhuǎn)向微服務(wù)的8條建議_第1頁(yè)
轉(zhuǎn)向微服務(wù)的8條建議_第2頁(yè)
轉(zhuǎn)向微服務(wù)的8條建議_第3頁(yè)
轉(zhuǎn)向微服務(wù)的8條建議_第4頁(yè)
轉(zhuǎn)向微服務(wù)的8條建議_第5頁(yè)
已閱讀5頁(yè),還剩3頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、    轉(zhuǎn)向微服務(wù)的8條建議    田茜向微服務(wù)的轉(zhuǎn)變代表著應(yīng)用程序開(kāi)發(fā)的巨變。以下是如何解開(kāi)這種大轉(zhuǎn)變的復(fù)雜性。如今新應(yīng)用程序的開(kāi)發(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)用程序更易于開(kāi)發(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)、語(yǔ)言和框架的決策?!眝erizon媒體集團(tuán)(verizo

2、n media group)工程、體育及媒體制作工程副總裁坎貝爾說(shuō)道,該集團(tuán)是擁有50個(gè)在線品牌的通信公司的子公司??藏悹栒f(shuō):“我們看到隨著團(tuán)隊(duì)采用微服務(wù),從提交到制作的周期時(shí)間顯著縮短?!薄霸S多團(tuán)隊(duì)每天多次部署微服務(wù),無(wú)需任何人工干預(yù),依靠測(cè)試、代碼審查和復(fù)雜的持續(xù)集成/持續(xù)交付(ci/cd)管道來(lái)確保變更內(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é)其開(kāi)發(fā)和運(yùn)營(yíng)的各自團(tuán)隊(duì)。”坎貝爾說(shuō)。使用微服務(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ù)的演變就像是從馬到自行車,或從自行車到汽車的過(guò)程?!眘olutions by design ii(sbd)公司項(xiàng)目副經(jīng)理jay bercher說(shuō)道,這是一家管理咨詢和技術(shù)服務(wù)公司,與聯(lián)邦機(jī)構(gòu)合作,協(xié)助其轉(zhuǎn)向基于微服務(wù)的it工作方式?!爱?dāng)我們經(jīng)歷演變的多個(gè)階段時(shí),我們會(huì)發(fā)現(xiàn)有更多的東西在變化,”bercher說(shuō),“每個(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說(shuō),“這是一個(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說(shuō),創(chuàng)建微服務(wù)是為了使服務(wù)松散耦合,并應(yīng)用單一責(zé)任原則?!氨M管有各種開(kāi)發(fā)方式和方法,但領(lǐng)域驅(qū)動(dòng)設(shè)計(jì)和微服務(wù)似乎是完美組合,”bercher說(shuō),sbd公司的團(tuán)

5、隊(duì)使用領(lǐng)域驅(qū)動(dòng)設(shè)計(jì),這是一種構(gòu)建應(yīng)用程序的主題方法,可創(chuàng)建一種高效的開(kāi)發(fā)模式,消除大多數(shù)團(tuán)隊(duì)的相互依賴性?!霸谖覀兊墓ぷ髦?,領(lǐng)域與微服務(wù)的相關(guān)性基本上是一對(duì)一的,”bercher說(shuō),“因此,每個(gè)開(kāi)發(fā)團(tuán)隊(duì)都負(fù)責(zé)一個(gè)領(lǐng)域,同時(shí)也負(fù)責(zé)開(kāi)發(fā)相應(yīng)的微服務(wù)。這就建立了明確的責(zé)任劃分,從而限制了并行開(kāi)發(fā)工作中可能出現(xiàn)的冗余?!?.建立代碼庫(kù)指南坎貝爾說(shuō),在微服務(wù)環(huán)境下,團(tuán)隊(duì)之間共享代碼相對(duì)困難得多?!安幌裨谝粋€(gè)整體架構(gòu)中,公共代碼只是一個(gè)方法調(diào)用,而微服務(wù)架構(gòu)的通用性必須分解到獨(dú)立的服務(wù)中,或者代碼必須打包到一個(gè)共享庫(kù)中?!笨藏悹栒f(shuō)。使用這些庫(kù)通常很慢,并且進(jìn)行更改需要在庫(kù)所有者和多個(gè)服務(wù)之間進(jìn)行協(xié)調(diào)?!耙?/p>

6、此,對(duì)于公共庫(kù)和上線產(chǎn)品的要求,各個(gè)組織應(yīng)采用一套強(qiáng)有力的指導(dǎo)方針,這非常重要?!笨藏悹栒f(shuō)。3.不要在微服務(wù)之間共享數(shù)據(jù)庫(kù)“在構(gòu)建我們的解耦合服務(wù)時(shí),我們?cè)试S開(kāi)發(fā)團(tuán)隊(duì)構(gòu)建自己的數(shù)據(jù)庫(kù),為我們的后端系統(tǒng)提供數(shù)據(jù),這可限制對(duì)其他開(kāi)發(fā)團(tuán)隊(duì)的依賴性?!眀ercher說(shuō)。“我們的開(kāi)發(fā)團(tuán)隊(duì)將他們書(shū)寫(xiě)的內(nèi)容推送到后端,供其他人使用,然后我們的數(shù)據(jù)團(tuán)隊(duì)會(huì)管理這些信息?!眀ercher說(shuō),“這延續(xù)了即插即用的概念,如果您需要更換某一服務(wù),只需將其取出并插入新服務(wù)即可。這就像更換燈泡,只是稍微復(fù)雜一點(diǎn)?!庇捎谖⒎?wù)在設(shè)計(jì)上是模塊化的,因此開(kāi)發(fā)過(guò)程主要是即插即用,從而可以非常輕松地解決可能出現(xiàn)的任何問(wèn)題。“因?yàn)榇a

7、不會(huì)在整個(gè)平臺(tái)上傳播,我們可以快速將問(wèn)題隔離到一個(gè)特定的源,然后在微服務(wù)中對(duì)其跟蹤,”bercher說(shuō),“通過(guò)允許對(duì)每個(gè)微服務(wù)進(jìn)行零碎的更新和升級(jí),可以輕松更新應(yīng)用程序。你能想象一次升級(jí)一個(gè)系統(tǒng)而不進(jìn)行大規(guī)模替換嗎??jī)H這一概念就徹底改變了系統(tǒng)開(kāi)發(fā)?!眘bd公司在美國(guó)各地都設(shè)有開(kāi)發(fā)團(tuán)隊(duì),可以增強(qiáng)微服務(wù)的優(yōu)勢(shì)。位于南卡羅來(lái)納州查爾斯頓的團(tuán)隊(duì)成員具有更高的開(kāi)發(fā)獨(dú)立性,因?yàn)樗麄冋陂_(kāi)發(fā)自己的微服務(wù),并可將其加入解決方案中。4.解決安全問(wèn)題與it相關(guān)的任何其他事情一樣,微服務(wù)也有自己的安全問(wèn)題?!捌髽I(yè)應(yīng)該在軟件開(kāi)發(fā)生命周期的早期就要頻繁地查找已知的漏洞?!彪娮由虅?wù)、支付和營(yíng)銷服務(wù)提供商數(shù)字湖公司(dig

8、ital river)的首席信息官瑞恩·道格拉斯說(shuō),“對(duì)于我們?cè)诳旃?jié)奏環(huán)境中工作的任何it團(tuán)隊(duì)來(lái)說(shuō),一個(gè)重要信條是識(shí)別和修復(fù)本地解決方案以及第三方軟件的漏洞。這對(duì)維護(hù)安全至關(guān)重要。對(duì)軟件生態(tài)系統(tǒng)采取全局方法,了解它如何協(xié)同工作以及潛在問(wèn)題區(qū)域所在,這是至關(guān)重要的?!钡栏窭拐f(shuō):“使用微服務(wù)時(shí),軟件補(bǔ)丁部署更容易測(cè)試。而且這不僅適用于自己開(kāi)發(fā)的代碼,it工程師可以在自己開(kāi)發(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說(shuō),復(fù)雜情況在大型微服務(wù)部署中很容易發(fā)生?!叭绻M織機(jī)構(gòu)沒(méi)有謹(jǐn)慎地確保某一系統(tǒng)架構(gòu)來(lái)推動(dòng)微服務(wù)的使用,甚至可能存在遞歸數(shù)據(jù)路徑,”morgenthal說(shuō),“在使用獨(dú)立的跨職能團(tuán)隊(duì)和服務(wù)存儲(chǔ)庫(kù)時(shí),可能會(huì)出現(xiàn)依賴關(guān)系,從而導(dǎo)致微服務(wù)原則失效?!薄皯?yīng)該能夠更改或刪除單個(gè)微服務(wù),而不會(huì)對(duì)整個(gè)系統(tǒng)產(chǎn)生重大影響?!眒orgenthal表示,最佳做法是使用企業(yè)架構(gòu)來(lái)驗(yàn)證微服務(wù)設(shè)計(jì)。6.考慮從頭開(kāi)始構(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)行完全重寫(xiě)。”carrington mortgage公司首席技術(shù)官約翰·尼古拉斯說(shuō)。“由于一些預(yù)先設(shè)定的業(yè)務(wù)需求,我們需要在很短的時(shí)間內(nèi)提供新功能,”尼古拉斯說(shuō),“起初,我們?cè)噲D通過(guò)一些成功的結(jié)果整合到整體架構(gòu)中。然而,我們也知道,將應(yīng)用程序拆分會(huì)比重寫(xiě)我們現(xiàn)有的大部分功能更加困難?!笨紤]到這一點(diǎn),開(kāi)發(fā)團(tuán)隊(duì)決定最好的前進(jìn)方向是從頭開(kāi)始構(gòu)建新的應(yīng)用程序?!斑@是一項(xiàng)艱巨的任務(wù),需要我們所有團(tuán)隊(duì)成員付出巨大努力,但自從做出這種轉(zhuǎn)變后,在短時(shí)間內(nèi)就證明了這是值得的。”尼古拉斯說(shuō)。尼古拉斯表示,由于成功部署微服務(wù)需要大量的技術(shù)投資,因此重要

11、的是,必須有一個(gè)明確定義的商業(yè)案例來(lái)概述新技術(shù)如何提高性能或提高運(yùn)營(yíng)效率?!斑@里的關(guān)鍵是找到合適的人才,”尼古拉斯說(shuō),“找到有經(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í),需衡量其性能通過(guò)添加服務(wù)器,可對(duì)整體應(yīng)用程序進(jìn)行全面擴(kuò)展以滿足需求的飆升,spotcues公司的聯(lián)合創(chuàng)始人praveen kanyadi表示,該公司利用人工智能提供生產(chǎn)力軟件?!皩?duì)于微服務(wù)來(lái)說(shuō),模塊化架構(gòu)只允許對(duì)系統(tǒng)的某些部分進(jìn)行擴(kuò)展,”kanyadi說(shuō),“然而,微服務(wù)需要一種非常不同的擴(kuò)展方法,因?yàn)榈湫偷奈⒎?wù)架構(gòu)部署可能包含在不同服務(wù)器上運(yùn)行的多個(gè)組件以及虛擬化協(xié)同工作?!边@就增加了在識(shí)別哪些單個(gè)組件升級(jí)方面的挑戰(zhàn)。kanyadi說(shuō):“這是衡量性能變得至關(guān)重要的地方,而像應(yīng)用程序交付控制器等工具可以幫助測(cè)量和檢測(cè)性能問(wèn)題?!眐anyadi表示,企業(yè)還應(yīng)考慮根據(jù)業(yè)務(wù)優(yōu)先級(jí)為每個(gè)微服務(wù)的性能和可靠性定義服務(wù)水平協(xié)議(sla)。8.專注于變革管理企業(yè)需要

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論