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