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