微服務(wù)簡(jiǎn)介
微服務(wù)是小型的獨(dú)立服務(wù),可以獨(dú)立演進(jìn)并單獨(dú)部署,以支持持續(xù)集成和持續(xù)交付。微服務(wù)架構(gòu)促進(jìn)開發(fā)和部署由獨(dú)立、自主、模塊化、自包含單元組成的應(yīng)用程序或一組功能。每個(gè)單位都被分配給擁有它的團(tuán)隊(duì)進(jìn)行改進(jìn)。采用微服務(wù)后,團(tuán)隊(duì)可以快速發(fā)布較新版本的應(yīng)用程序或功能,而不會(huì)中斷解決方案的其余部分。
為什么選擇微服務(wù)?
支持敏捷流程:擺脫基于瀑布的思維方式,將軟件項(xiàng)目視為大型的多年資本支出。微服務(wù)通過強(qiáng)大的技術(shù)平臺(tái)幫助企業(yè)全面采用敏捷開發(fā)和部署方法,促進(jìn)云原生方法和微服務(wù)架構(gòu)設(shè)置。
為每個(gè)組件利用最適合的技術(shù):開發(fā)人員正在選擇最佳的語(yǔ)言、框架和工具來(lái)編寫應(yīng)用程序的各個(gè)部分。一個(gè)大型應(yīng)用程序可能由用 Node.js、Ruby on Rails、Python、R 和 Java 編寫的微服務(wù)組成。每個(gè)微服務(wù)都可以使用最適合任務(wù)的語(yǔ)言編寫。開發(fā)微服務(wù)的團(tuán)隊(duì)可以做出適合這項(xiàng)工作的技術(shù)決策。他們可以嘗試現(xiàn)代技術(shù)、庫(kù)、語(yǔ)言和框架,從而加快創(chuàng)新周期。
模塊化和代碼可重用性:如今,組織投資于可組合的可重用構(gòu)建塊。每個(gè)微服務(wù)就像一個(gè)樂高積木,可以插入到應(yīng)用程序堆棧中。通過投資一組核心微服務(wù),組織可以組裝它們來(lái)構(gòu)建滿足各種用例的應(yīng)用程序。
彈性基礎(chǔ)架構(gòu):市場(chǎng)上有多個(gè)云基礎(chǔ)架構(gòu)提供商,如今的企業(yè)可以動(dòng)態(tài)配置、配置和編排幾百臺(tái)虛擬服務(wù)器。但是,無(wú)需啟動(dòng)應(yīng)用程序服務(wù)器的多個(gè)實(shí)例,而是可以按需橫向擴(kuò)展特定的微服務(wù)。微服務(wù)簡(jiǎn)化了負(fù)載均衡,因?yàn)楫?dāng)負(fù)載轉(zhuǎn)移到應(yīng)用程序的其他部分時(shí),早期的微服務(wù)將在橫向擴(kuò)展不同的微服務(wù)時(shí)進(jìn)行縮減。
CICD(持續(xù)集成和持續(xù)交付)的易用性:微服務(wù)通過測(cè)試驅(qū)動(dòng)開發(fā)、持續(xù)集成和持續(xù)交付幫助小型、自主、位于同一地點(diǎn)的團(tuán)隊(duì)成功啟動(dòng)每個(gè)功能或應(yīng)用程序。
去中心化數(shù)據(jù)和治理:微服務(wù)鼓勵(lì)其開發(fā)人員通過始終使用其他人建立的可重用代碼庫(kù)來(lái)節(jié)省時(shí)間,同時(shí)也讓他們?cè)谛枰獣r(shí)自由地使用替代解決方案。此外,具有傳統(tǒng)體系結(jié)構(gòu)的解決方案跨不同的應(yīng)用程序使用單個(gè)邏輯數(shù)據(jù)庫(kù)。在微服務(wù)中,為特定應(yīng)用程序或功能構(gòu)建的每個(gè)服務(wù)通常管理其唯一的數(shù)據(jù)庫(kù)。
微服務(wù)業(yè)務(wù)優(yōu)勢(shì)
縮短上市時(shí)間:因?yàn)槊總€(gè)微服務(wù)都是圍繞業(yè)務(wù)功能構(gòu)建和調(diào)整的,以降低應(yīng)用程序變更管理流程的復(fù)雜性。它加快了新技術(shù)、庫(kù)、語(yǔ)言和框架的更新,從而加快了開發(fā)周期,包括回滾。每項(xiàng)服務(wù)都經(jīng)過單獨(dú)更改、測(cè)試和部署,而不會(huì)影響其他服務(wù),從而加快上市時(shí)間。
卓越的應(yīng)用程序質(zhì)量:通過使用微服務(wù)架構(gòu)的“分而治之”方法,團(tuán)隊(duì)可以比以前更輕松地執(zhí)行每個(gè)單元的功能和性能測(cè)試,因?yàn)榻M件可以單獨(dú)測(cè)試并與完整或虛擬化的微服務(wù)集結(jié)合使用。它還可以最大限度地減少測(cè)試自動(dòng)化和質(zhì)量保證開銷,并促進(jìn)子系統(tǒng)上的并發(fā) A/B 發(fā)布測(cè)試。因此,微服務(wù)方法可以全面提高應(yīng)用程序質(zhì)量。
零停機(jī)部署:微服務(wù)支持版本和發(fā)布規(guī)劃流程以及與主容器和多個(gè)從屬容器的向后兼容性要求。它允許您部署最新版本的微服務(wù),而不會(huì)中斷其他微服務(wù)的運(yùn)行。
審核編輯:郭婷
-
服務(wù)器
+關(guān)注
關(guān)注
12文章
8958瀏覽量
85081 -
JAVA
+關(guān)注
關(guān)注
19文章
2952瀏覽量
104479
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論