<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          終于有人把微服務(wù)講明白了

          共 2807字,需瀏覽 6分鐘

           ·

          2021-10-25 12:44

          作者:魏新宇 郭躍軍
          來源:大數(shù)據(jù)DT(ID:hzdashuju)




          01 微服務(wù)架構(gòu)簡(jiǎn)介


          微服務(wù)這個(gè)概念并不是近年才有的,但這兩年隨著以容器為核心的新一代應(yīng)用承載平臺(tái)的崛起,微服務(wù)煥發(fā)了新的生命力。


          傳統(tǒng)的巨大單體(Monolithic)應(yīng)用程序在部署和運(yùn)行時(shí),需要單臺(tái)服務(wù)器具有大量?jī)?nèi)存和其他資源。巨大的單體應(yīng)用必須通過在多個(gè)服務(wù)器上復(fù)制整個(gè)應(yīng)用程序來實(shí)現(xiàn)橫向擴(kuò)展,因此其擴(kuò)展能力極差;此外,這些應(yīng)用程序往往更復(fù)雜,各個(gè)功能組件緊耦合,使得維護(hù)和更新更加困難。


          在這種情況下,想單獨(dú)升級(jí)應(yīng)用的一個(gè)功能組件,就會(huì)有“牽一發(fā)而動(dòng)全身”的困擾。


          在微服務(wù)架構(gòu)中,傳統(tǒng)的巨大單體應(yīng)用被拆分為小型模塊化的服務(wù),每項(xiàng)服務(wù)都圍繞特定的業(yè)務(wù)領(lǐng)域構(gòu)建,不同微服務(wù)可以用不同的編程語言編寫,甚至可以使用完全不同的工具進(jìn)行管理和部署。


          與單體應(yīng)用程序相比,微服務(wù)組織更好、更小、更松耦合,并且是獨(dú)立開發(fā)、測(cè)試和部署的。由于微服務(wù)可以獨(dú)立發(fā)布,因此修復(fù)錯(cuò)誤或添加新功能所需的時(shí)間要短得多,并且可以更有效地將更改部署到生產(chǎn)中。此外,由于微服務(wù)很小且無狀態(tài),因此更容易擴(kuò)展。


          總體而言,微服務(wù)通常具有以下特點(diǎn):


          • 以單個(gè)業(yè)務(wù)或域?yàn)槟P汀?/span>

          • 每個(gè)微服務(wù)實(shí)現(xiàn)自己的業(yè)務(wù)邏輯,包含獨(dú)立的持久數(shù)據(jù)存儲(chǔ)。

          • 每個(gè)微服務(wù)有一個(gè)單獨(dú)發(fā)布的API。

          • 每個(gè)微服務(wù)能夠獨(dú)立運(yùn)行。

          • 每個(gè)微服務(wù)獨(dú)立于其他服務(wù)且松耦合。

          • 每個(gè)微服務(wù)可以獨(dú)立地升級(jí)、回滾、擴(kuò)容、縮容。




          02 微服務(wù)架構(gòu)的主要類型


          目前在微服務(wù)架構(gòu)領(lǐng)域有多種微服務(wù)治理框架,如Spring Cloud、Istio等。這幾種微服務(wù)架構(gòu)都符合上一節(jié)介紹的微服務(wù)架構(gòu)的特點(diǎn),但實(shí)現(xiàn)的方式不同:有的通過代碼侵入的方式實(shí)現(xiàn),有的通過使用代理的方式實(shí)現(xiàn)。


          在Kubernetes出現(xiàn)和普及之前,實(shí)現(xiàn)微服務(wù)架構(gòu)需要通過像Spring Cloud這種代碼侵入的方式實(shí)現(xiàn),也就是說,在應(yīng)用的源代碼中引用微服務(wù)架構(gòu)的治理組件。


          在Kubernetes出現(xiàn)以后,我們可以將容器化應(yīng)用之間的路由、安全等工作交由Kubernetes實(shí)現(xiàn),也就是說,應(yīng)用開發(fā)人員再也不必在開發(fā)階段考慮微服務(wù)之間的調(diào)用關(guān)系,只需關(guān)注應(yīng)用代碼的功能實(shí)現(xiàn)即可。這種無代碼侵入的微服務(wù)架構(gòu)(如Istio)越來越受到業(yè)內(nèi)和客戶青睞。



          03 企業(yè)實(shí)施微服務(wù)架構(gòu)的收益和原則


          從技術(shù)角度而言,企業(yè)實(shí)施微服務(wù)大致有以下幾個(gè)方面收益:


          • 應(yīng)用更快部署:微服務(wù)比傳統(tǒng)的單體應(yīng)用小得多。較小的服務(wù)可以縮短修復(fù)錯(cuò)誤所需的時(shí)間。微服務(wù)是獨(dú)立發(fā)布的,這意味著可以快速添加、測(cè)試和發(fā)布新功能。

          • 應(yīng)用快速開發(fā):微服務(wù)由小團(tuán)隊(duì)開發(fā)和維護(hù),每個(gè)小團(tuán)隊(duì)最大規(guī)模為10人,合理的團(tuán)隊(duì)規(guī)模是5~7名成員,也就是“雙比薩團(tuán)隊(duì)”(亞馬遜在2012年提出這個(gè)概念,意思是5~7人吃兩個(gè)比薩剛好吃飽)。

          • 降低應(yīng)用代碼復(fù)雜度:由于微服務(wù)比巨大的單體應(yīng)用小得多,因此,這意味著每個(gè)微服務(wù)的代碼量是可控的,這讓代碼修改變得很容易。

          • 應(yīng)用易于擴(kuò)展:微服務(wù)通常是獨(dú)立部署的。各個(gè)服務(wù)可以根據(jù)服務(wù)接收的負(fù)載量靈活地?cái)U(kuò)容和縮容。系統(tǒng)可以將更多的計(jì)算、存儲(chǔ)、網(wǎng)絡(luò)資源分配給接收高流量的服務(wù),實(shí)現(xiàn)資源上的按需分配。


          雖然微服務(wù)優(yōu)勢(shì)明顯,但為了保證微服務(wù)在企業(yè)內(nèi)順利實(shí)施,通常會(huì)遵循一些原則和最佳實(shí)踐:


          • IT團(tuán)隊(duì)重組為DevOps團(tuán)隊(duì):由微服務(wù)團(tuán)隊(duì)負(fù)責(zé)從開發(fā)到運(yùn)營(yíng)的整個(gè)生命周期管理。DevOps團(tuán)隊(duì)可以按照自己的節(jié)奏管理組員和產(chǎn)品,控制自己的節(jié)奏。

          • 將服務(wù)打包為容器:通過將應(yīng)用打包成容器,可以形成標(biāo)準(zhǔn)交付物,大幅提升效率。

          • 使用彈性基礎(chǔ)架構(gòu):將微服務(wù)部署到PaaS上而非傳統(tǒng)的虛擬機(jī),例如OpenShift集群。

          • 持續(xù)集成和交付流水線:通過流水線打通從開發(fā)到運(yùn)維的整個(gè)流程,這有助于微服務(wù)的落地。


          在了解了微服務(wù)對(duì)于企業(yè)數(shù)字化轉(zhuǎn)型的意義后,接下來看一看PaaS、DevOps和微服務(wù)之間的關(guān)系。




          04 PaaS、DevOps與微服務(wù)的關(guān)系


          PaaS、DevOps、微服務(wù)的概念很早就出現(xiàn)了。廣義上的微服務(wù)和DevOps的建設(shè)包含人、流程、工具等多方面內(nèi)容。IT廠商提供的微服務(wù)和DevOps主要是指工具層面的落地和流程咨詢。


          在Kubernetes和容器普及之前,我們通過虛擬機(jī)也可以實(shí)現(xiàn)微服務(wù)和DevOps(CI/CD),只是速度相對(duì)較慢,因此普及性不高(想象一下通過x86虛擬化來實(shí)現(xiàn)中間件集群彈性伸縮的效率)。而正是容器的出現(xiàn),為PaaS和DevOps工具層面的落地提供了非常好的承載平臺(tái),使得這兩年容器云平臺(tái)風(fēng)生水起。


          這就好比4G(2014年出現(xiàn))和微信(2011年出現(xiàn))之間的關(guān)系。在3G時(shí)代,流量費(fèi)較貴,大家對(duì)于微信語音和視頻聊天不會(huì)太感興趣;到了4G時(shí)代,網(wǎng)速提高而且收費(fèi)大幅下降,像微信這樣的社交和互聯(lián)網(wǎng)支付工具才能興起和流行。


          容器引擎使容器具備了較好的可操作性和可移植性,Kubernetes使容器具備企業(yè)級(jí)使用的條件。而IT界優(yōu)秀的企業(yè)級(jí)容器云平臺(tái)——OpenShift又成為DevOps和微服務(wù)落地的新一代平臺(tái)。


          OpenShift以容器技術(shù)和Kubernetes為基礎(chǔ),在此之上擴(kuò)展提供了軟件定義網(wǎng)絡(luò)、軟件定義存儲(chǔ)、權(quán)限管理、企業(yè)級(jí)鏡像倉(cāng)庫、統(tǒng)一入口路由、持續(xù)集成流程(S2I/Jenkins)、統(tǒng)一管理控制臺(tái)、監(jiān)控日志等功能,形成覆蓋整個(gè)軟件生命周期的解決方案。


          所以說,OpenShift本身提供開箱即用的PaaS功能,還可以幫助客戶快速實(shí)現(xiàn)微服務(wù)和DevOps,并且提供對(duì)應(yīng)的企業(yè)級(jí)服務(wù)支持。


          本文摘編自OpenShift在企業(yè)中的實(shí)踐:PaaS DevOps 微服務(wù)》(第2版),經(jīng)出版方授權(quán)發(fā)布。

          (歡迎大家加入數(shù)據(jù)工匠知識(shí)星球獲取更多資訊。)

          聯(lián)系我們

          掃描二維碼關(guān)注我們

          微信:SZH9543
          郵箱:[email protected]
          QQ:2286075659

          熱門文章


          社會(huì)內(nèi)卷的真正原因:華為內(nèi)部論壇的這篇雄文火了


          信創(chuàng):時(shí)時(shí)“中國(guó)心”,件件“中國(guó)造”,事事“可自管”,應(yīng)用“要策略”


          2萬字長(zhǎng)文詳解數(shù)倉(cāng)開發(fā)與應(yīng)用全生命周期


          淺談數(shù)據(jù)隱私(譯文)


          從COBIT5談?wù)処T治理(內(nèi)附下載鏈接)


          IT建設(shè)目標(biāo)及IT規(guī)劃初步方案(內(nèi)附下載鏈接)


          數(shù)據(jù)安全法規(guī)及標(biāo)準(zhǔn)建設(shè)(內(nèi)附下載連)

          我們的使命:發(fā)展數(shù)據(jù)治理行業(yè)、普及數(shù)據(jù)治理知識(shí)、改變企業(yè)數(shù)據(jù)管理現(xiàn)狀、提高企業(yè)數(shù)據(jù)質(zhì)量、推動(dòng)企業(yè)走進(jìn)大數(shù)據(jù)時(shí)代。

          我們的愿景:打造數(shù)據(jù)治理專家、數(shù)據(jù)治理平臺(tái)、數(shù)據(jù)治理生態(tài)圈。

          我們的價(jià)值觀:凝聚行業(yè)力量、打造數(shù)據(jù)治理全鏈條平臺(tái)、改變數(shù)據(jù)治理生態(tài)圈。

          了解更多精彩內(nèi)容


          長(zhǎng)按,識(shí)別二維碼,關(guān)注我們吧!

          數(shù)據(jù)工匠俱樂部

          微信號(hào):zgsjgjjlb

          專注數(shù)據(jù)治理,推動(dòng)大數(shù)據(jù)發(fā)展。


          瀏覽 22
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          評(píng)論
          圖片
          表情
          推薦
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  天天天天爽爽天干 | 久久精产国99精产国高潮麻豆 | 日韩一道清 | 午夜狂拍偷拍伊人之大香蕉 | 欧美色图第五页 |