首先,來(lái)自Darren的消息是,微服務(wù)架構(gòu)并不是構(gòu)建大規(guī)模企業(yè)應(yīng)用程序的新方式。Netflix和亞馬遜等公司已經(jīng)實(shí)施了微服務(wù)架構(gòu),在過(guò)去幾年中提供了成功的產(chǎn)品。
但是微服務(wù)架構(gòu)適合您的組織嗎?答案不是簡(jiǎn)單的是或否,但我會(huì)嘗試用Darren的講話作為指導(dǎo)來(lái)引導(dǎo)你找到答案。
微服務(wù)架構(gòu)是一個(gè)將在多個(gè)方面影響您的組織的旅程 - 在文化,技術(shù)和運(yùn)營(yíng)方面。讓我們考慮一個(gè)跨國(guó)企業(yè)的單體應(yīng)用程序,該應(yīng)用程序已經(jīng)成熟多年并占據(jù)了市場(chǎng)主導(dǎo)地位。從軟件工程師或架構(gòu)師的角度來(lái)看,簡(jiǎn)化代碼庫(kù)的復(fù)雜區(qū)域以使其更易于維護(hù)是一種很好的做法。
那么當(dāng)你遇到一個(gè)瘋狂的大型Java類時(shí),你會(huì)怎么做,這些Java類包含許多代碼行和一個(gè)不幸的方法,占40%的類?一個(gè)自然(和明智)的事情是與團(tuán)隊(duì)進(jìn)行某種形式的討論,并提出一種策略,將類分解為多個(gè)較小的類和/或方法?,F(xiàn)在問(wèn)問(wèn)自己為什么清理整體Java類很重要?
如果您的答案是更簡(jiǎn)單的單元測(cè)試,更容易進(jìn)行代碼審查,更改影響,那么我建議您將相同的思維過(guò)程應(yīng)用于構(gòu)成產(chǎn)品的整體服務(wù)和模塊。
將monolith應(yīng)用程序拆分為更小,可管理的服務(wù)有幾個(gè)原因。如果您是組織中的業(yè)務(wù)負(fù)責(zé)人,以下可能是您的一些擔(dān)憂:
-
進(jìn)入新市場(chǎng)
-
支持創(chuàng)新
-
在業(yè)務(wù)功能和系統(tǒng)之間創(chuàng)建更好的一致性
-
改變治理結(jié)構(gòu)以更好地支持快速?zèng)Q策
-
快速響應(yīng)新的市場(chǎng)條件
-
抵御市場(chǎng)顛覆者
作為首席技術(shù)官或首席架構(gòu)師,您有責(zé)任評(píng)估最能解決上述問(wèn)題的不同解決方案,并設(shè)計(jì)符合組織愿景的系統(tǒng)。以下是在考慮微服務(wù)架構(gòu)時(shí)需要關(guān)注的一些關(guān)鍵領(lǐng)域:
-
多種服務(wù)之間的依賴關(guān)系管理
-
端到端功能測(cè)試的大小
-
快速檢測(cè)故障,正常故障并快速恢復(fù)
-
容器作為構(gòu)建工件
-
跨組織邊界重用組件/模塊
-
公共使用服務(wù)的API合同
-
監(jiān)控部署生命周期的各個(gè)階段
-
集中式架構(gòu)團(tuán)隊(duì)與分散式架構(gòu)團(tuán)隊(duì)
-
構(gòu)鍵自動(dòng)化
架構(gòu)師的角色隨著微服務(wù)的采用而發(fā)展,并委托他或她承擔(dān)挑戰(zhàn)性的責(zé)任,從而形成架構(gòu)治理。架構(gòu)治理是組織嘗試開(kāi)始微服務(wù)之旅的關(guān)鍵因素之一,因?yàn)槿绻麤](méi)有正確的順序,該過(guò)程將很快導(dǎo)致微管理而不是微服務(wù)。
將monolith分成多個(gè)可管理服務(wù)的最大優(yōu)勢(shì)之一是使一個(gè)小團(tuán)隊(duì)能夠全面管理其服務(wù)的生命周期 - 開(kāi)發(fā),測(cè)試和推向生產(chǎn)。這意味著企業(yè)架構(gòu)師不再需要承擔(dān)單個(gè)服務(wù)的內(nèi)部工作負(fù)擔(dān),而是高度關(guān)注整個(gè)系統(tǒng)中服務(wù)之間的交互。此外,架構(gòu)師應(yīng)密切關(guān)注系統(tǒng)的整體運(yùn)行狀況,以確保每項(xiàng)服務(wù)以一致的方式生成與監(jiān)控相關(guān)的指標(biāo)。
為開(kāi)發(fā)團(tuán)隊(duì)提供完全的權(quán)限,以便在構(gòu)建服務(wù)時(shí)選擇他們選擇的技術(shù)堆棧并不意味著架構(gòu)師不再對(duì)其實(shí)現(xiàn)有任何發(fā)言權(quán)。事實(shí)上,架構(gòu)師受到高度鼓勵(lì),可以教育和影響開(kāi)發(fā)團(tuán)隊(duì)。例如,考慮到服務(wù)必須處理的數(shù)據(jù)的高度非結(jié)構(gòu)化特性,架構(gòu)師可以建議使用NoSQL數(shù)據(jù)庫(kù)而不是關(guān)系數(shù)據(jù)庫(kù)。例如,Netflix將JVM的使用標(biāo)準(zhǔn)化為一個(gè)平臺(tái),以便他們可以跨服務(wù)使用標(biāo)準(zhǔn)庫(kù)。
雖然架構(gòu)師之一忙于與開(kāi)發(fā)團(tuán)隊(duì)合作,但另一個(gè)人正在與“業(yè)務(wù)”團(tuán)隊(duì)合作,以使技術(shù)愿景與業(yè)務(wù)愿景保持一致。這對(duì)于建筑師來(lái)說(shuō)是一個(gè)重要特征,因?yàn)橄到y(tǒng)需要能夠適應(yīng)產(chǎn)品愿景或用戶反饋的變化。因此,架構(gòu)師需要始終掌握行業(yè)中的最新趨勢(shì),工具和框架,并準(zhǔn)備好為給定的工作應(yīng)用正確的工具。
Darren談到了“部署耦合”的概念,強(qiáng)調(diào)了許多單片系統(tǒng)和傳統(tǒng)企業(yè)架構(gòu)需要在單個(gè)版本中將所有系統(tǒng)的更改同步到生產(chǎn)中這一事實(shí)。這反過(guò)來(lái)導(dǎo)致長(zhǎng)時(shí)間運(yùn)行的測(cè)試周期從未捕獲任何東西,并且感覺(jué)沒(méi)有人可以失敗,因?yàn)橐粋€(gè)系統(tǒng)未達(dá)到其截止日期意味著其他所有人都被推出。
通過(guò)使用遠(yuǎn)程調(diào)用作為集成服務(wù)的機(jī)制,可以避免部署耦合。微服務(wù)社區(qū)建議使用REST over HTTP而不是其他遠(yuǎn)程通信協(xié)議(如RPC或SOAP),因?yàn)榛诜荋TTP的協(xié)議往往會(huì)將您綁定到特定平臺(tái)或?qū)ゲ僮餍允┘酉拗啤Mㄟ^(guò)基于用戶級(jí)合同使用HTTP集成服務(wù),開(kāi)發(fā)團(tuán)隊(duì)可以避免永無(wú)止境的端到端測(cè)試階段的陷阱并保持合適的速度。
然而,管理數(shù)百個(gè)服務(wù)會(huì)使組織的操作復(fù)雜化。作為一個(gè)組織,您必須確保擁有可靠的DevOps基礎(chǔ)架構(gòu),以便處理應(yīng)用程序監(jiān)視和警報(bào)。正如我上面提到的,架構(gòu)師必須至少標(biāo)準(zhǔn)化服務(wù)發(fā)出日志的方式,以便運(yùn)營(yíng)團(tuán)隊(duì)可以監(jiān)控整體系統(tǒng)運(yùn)行狀況,并且如果需要進(jìn)一步調(diào)查,則能夠深入到服務(wù)級(jí)別監(jiān)控。
最后,每個(gè)組織都必須努力招募,培訓(xùn)和留住高素質(zhì)的技術(shù)人員,因?yàn)椤拔⒂^團(tuán)隊(duì)”之間的溝通和協(xié)作需要有效,技術(shù)上的刺激以及最重要的樂(lè)趣是至關(guān)重要的!
我希望這可以解決你對(duì)大型企業(yè)中微服務(wù)架構(gòu)的一些擔(dān)憂。我鼓勵(lì)你觀看這個(gè)非常有見(jiàn)地的視頻錄制,其中Darren更詳細(xì)地討論了這些非常關(guān)注的問(wèn)題。文章來(lái)源:http://www.zghlxwxcb.cn/news/detail-781308.html
本文 :https://architect.pub/micro-service-architecture-enterprise-microservice-architecture | ||
討論:知識(shí)星球【首席架構(gòu)師圈】或者加微信小號(hào)【ca_cto】或者加QQ群【792862318】 | ||
網(wǎng)站 | CIO(首席信息官) | https://cio.ceo |
網(wǎng)站 | CIO,CTO和CDO | https://cioctocdo.com |
網(wǎng)站 | 架構(gòu)師實(shí)戰(zhàn)分享 | https://architect.pub? ? |
網(wǎng)站 | 程序員云開(kāi)發(fā)分享 | https://pgmr.cloud |
官網(wǎng) | 行天智能科技咨詢公司 | https://xingtian.ai |
網(wǎng)站 | 開(kāi)發(fā)者閑談 | https://blog.developer.chat |
網(wǎng)站 | 首席隱私官內(nèi)參 | https://cpo.work |
網(wǎng)站 | 首席安全官內(nèi)參 | https://cso.pub???? |
網(wǎng)站 | CIO內(nèi)參 | https://cio.cool |
網(wǎng)站 | CDO內(nèi)參 | https://cdo.fyi |
網(wǎng)站 | CXO內(nèi)參 | https://cxo.pub |
網(wǎng)站 | 首席架構(gòu)師社區(qū) | https://jiagoushi.pro |
謝謝大家關(guān)注,轉(zhuǎn)發(fā),點(diǎn)贊和點(diǎn)在看。文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-781308.html
到了這里,關(guān)于「微服務(wù)」企業(yè)微服務(wù)架構(gòu)的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!