微服務(wù)是一種軟件的體系結(jié)構(gòu)方法,旨在加快開發(fā)周期并支持可伸縮性。在這種方法中,軟件由小型獨(dú)立服務(wù)組成,這些服務(wù)通過架構(gòu)良好的API進(jìn)行通信。
整體式與微服務(wù)架構(gòu)
在整體式架構(gòu)中,所有組件都緊密耦合并作為單個(gè)服務(wù)運(yùn)行。在這里,如果應(yīng)用程序的任何一個(gè)組件遇到需求高峰,則必須擴(kuò)展整個(gè)體系結(jié)構(gòu)。此體系結(jié)構(gòu)類型增加了在應(yīng)用程序中實(shí)現(xiàn)新想法的難度級(jí)別。
在微服務(wù)架構(gòu)中,每個(gè)組件都是一個(gè)小型應(yīng)用程序,具有自己的六邊形架構(gòu)。它是一種體系結(jié)構(gòu)樣式,它將應(yīng)用程序構(gòu)造為松散耦合且可獨(dú)立部署的服務(wù)集合。
微服務(wù)架構(gòu)的特點(diǎn)
獨(dú)立
在微服務(wù)架構(gòu)中,每個(gè)組件都可以單獨(dú)更改、升級(jí)或替換,而不會(huì)影響其他組件的功能。
分散
微服務(wù)架構(gòu)遵循分散的數(shù)據(jù)管理,其中每個(gè)服務(wù)都有自己的數(shù)據(jù)模型視圖。
自治
在微服務(wù)架構(gòu)中,無(wú)需與其他組件共享任何組件代碼或?qū)崿F(xiàn)。組件之間的任何通信都可以通過明確定義的 API 來(lái)完成。
黑盒子
微服務(wù)架構(gòu)的行為類似于黑匣子,因?yàn)槊總€(gè)組件都對(duì)其他組件隱藏了復(fù)雜性的詳細(xì)信息。
微服務(wù)架構(gòu)的優(yōu)勢(shì)
質(zhì)量
微服務(wù)架構(gòu)還可以提高代碼質(zhì)量,因?yàn)檎麄€(gè)應(yīng)用程序都運(yùn)行在小的、定義明確的組件中。
可伸縮性
在微服務(wù)架構(gòu)中,每個(gè)組件都經(jīng)過適當(dāng)?shù)慕怦睿虼丝梢运綌U(kuò)展并彼此獨(dú)立,并且在擴(kuò)展過程中永遠(yuǎn)不會(huì)面臨停機(jī),因?yàn)樵谒綌U(kuò)展中,更多的組件被添加到現(xiàn)有池中,而不是增加每個(gè)組件的容量。
輕松開發(fā)
微服務(wù)架構(gòu)使嘗試新想法變得容易,并在持續(xù)集成和持續(xù)交付的幫助下將其回滾,以防發(fā)生意外情況。
達(dá)觀
借助微服務(wù)架構(gòu),應(yīng)用程序可以通過降低功能而不是使整個(gè)應(yīng)用程序崩潰來(lái)處理總體服務(wù)故障。
微服務(wù)架構(gòu)的挑戰(zhàn)
遷移
從整體架構(gòu)遷移到微服務(wù)架構(gòu)的過程非常復(fù)雜,需要將發(fā)布代碼依賴項(xiàng)向下延伸到數(shù)據(jù)庫(kù)層。
測(cè)試
在微服務(wù)環(huán)境中,由于服務(wù)及其集成不同,測(cè)試非常復(fù)雜。
監(jiān)測(cè)
在微服務(wù)架構(gòu)中,應(yīng)用程序被分解為小組件。當(dāng)出現(xiàn)問題時(shí),很難找到問題的根本原因,因?yàn)閱栴}可能不在于發(fā)生故障的組件,而在于依賴關(guān)系。
無(wú)服務(wù)器微服務(wù)架構(gòu)
下圖顯示了無(wú)服務(wù)器微服務(wù)體系結(jié)構(gòu),其中構(gòu)建了完整的解決方案,而無(wú)需管理任何服務(wù)器。這也消除了運(yùn)行和監(jiān)視服務(wù)器的操作工作。
Lambda 將處理運(yùn)行和擴(kuò)展執(zhí)行所需的一切,以滿足具有高可用性的實(shí)際需求。Lambda 支持多種編程語(yǔ)言,可以直接從任何 Web 或移動(dòng)應(yīng)用程序調(diào)用它。
在架構(gòu)圖中,Lambda 與 API 網(wǎng)關(guān) 集成。從 API 網(wǎng)關(guān)到 AWS Lambda 的同步調(diào)用使應(yīng)用程序能夠以無(wú)服務(wù)器身份運(yùn)行。AWS Lambda 會(huì)將所有數(shù)據(jù)存儲(chǔ)在名為 DynamoDB 的完全托管的 NoSQL 數(shù)據(jù)庫(kù)中,所有靜態(tài)數(shù)據(jù)都將存儲(chǔ)在 S3 存儲(chǔ)桶中。
可以說(shuō),微服務(wù)架構(gòu)旨在克服企業(yè)應(yīng)用程序中傳統(tǒng)整體架構(gòu)的挑戰(zhàn)。它允許任何組織的運(yùn)營(yíng)和開發(fā)團(tuán)隊(duì)之間的協(xié)作,從而實(shí)現(xiàn)DevOps,并且是當(dāng)今的首選。
審核編輯:郭婷
-
服務(wù)器
+關(guān)注
關(guān)注
12文章
9338瀏覽量
86158 -
AWS
+關(guān)注
關(guān)注
0文章
433瀏覽量
24547
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
寶藏級(jí)微服務(wù)架構(gòu)工具合集
NVIDIA NIM微服務(wù)登陸亞馬遜云科技
SSR與微服務(wù)架構(gòu)的結(jié)合應(yīng)用
SSR與傳統(tǒng)服務(wù)器的對(duì)比分析
美國(guó)多IP服務(wù)器和美國(guó)多服務(wù)器有什么區(qū)別
GPU服務(wù)器AI網(wǎng)絡(luò)架構(gòu)設(shè)計(jì)
![GPU<b class='flag-5'>服務(wù)器</b>AI網(wǎng)絡(luò)<b class='flag-5'>架構(gòu)</b>設(shè)計(jì)](https://file1.elecfans.com/web2/M00/0B/C9/wKgaomcp1bmAFlhwAAAouM11e3U987.png)
微服務(wù)架構(gòu)與容器云的關(guān)系與區(qū)別
基于高通主板的ARM架構(gòu)服務(wù)器
就服務(wù)器而言,ARM架構(gòu)與X86架構(gòu)有什么區(qū)別?各自的優(yōu)勢(shì)在哪里?
gpu服務(wù)器與cpu服務(wù)器的區(qū)別對(duì)比,終于知道怎么選了!
ai服務(wù)器是什么架構(gòu)類型
華為云函數(shù)工作流:引領(lǐng)未來(lái)無(wú)服務(wù)器計(jì)算時(shí)代
![華為云函數(shù)工作流:引領(lǐng)未來(lái)<b class='flag-5'>無(wú)</b><b class='flag-5'>服務(wù)器</b>計(jì)算時(shí)代](https://file1.elecfans.com/web2/M00/C4/87/wKgaomXsg7KAQTnjAArKJyLVBxY512.png)
評(píng)論