為什麼要使用微服務

qianzvtecp發表於2022-01-05

微服務這個概念並不是近年才有的,但這兩年隨著以容器為核心的新一代應用承載平臺的崛起,微服務煥發了新的生命力。

傳統的巨大單體應用程式在部署和執行時,需要單臺伺服器具有大量記憶體和其他資源。巨大的單體應用必須通過在多個伺服器上覆制整個應用程式來實現橫向擴充套件,因此其擴充套件能力極差;此外,這些應用程式往往更復雜,各個功能元件緊耦合,使得維護和更新更加困難。

在這種情況下,想單獨升級應用的一個功能元件,就會有“牽一髮而動全身”的困擾。

在微服務架構中,傳統的巨大單體應用被拆分為小型模組化的服務,每項服務都圍繞特定的業務領域構建,不同微服務可以用不同的程式語言編寫,甚至可以使用完全不同的工具進行管理和部署。

 

與單體應用程式相比,微服務組織更好、更小、更鬆耦合,並且是獨立開發、測試和部署的。由於微服務可以獨立釋出,因此修復錯誤或新增新功能所需的時間要短得多,並且可以更有效地將更改部署到生產中。此外,由於微服務很小且無狀態,因此更容易擴充套件。

總體而言,微服務通常具有 六個 特點:以單個業務或域為模型 每個微服務實現自己的業務邏輯,包含獨立的持久資料儲存 每個微服務有一個單獨釋出的API 每個微服務能夠獨立執行 每個微服務獨立於其他服務且鬆耦合 每個微服務可以獨立地升級、回滾、擴容、縮容。

企業使用微服務可以獲得多方面的收益。 實施微服務架構可以使 企業 更快地將其應用程式推向市場。對整體應用程式的更改需要重新部署整個應用程式堆疊,從而引入風險和複雜性。相反,服務的更新可以立即提交、測試和部署,對個別服務的更改不會影響系統的其他部分。

在擴充套件應用程式時 微服務方法也提供了靈活性。單片應用程式要求整個系統及其所有功能同時擴充套件。使用微服務,只需要縮放需要額外效能的元件或功能。可以通過部署更多微服務例項來擴充套件服務範圍,從而實現更有效的容量規劃並降低軟體許可成本,從而降低總體擁有成本。

而在 使用單體應用程式時,元件的故障可能會危及整個應用程式。在微服務中,每項服務都是隔離的,以防止級聯失敗導致整個系統崩潰。如果單個微服務的所有例項均失敗,則整體服務可能會降級,但其他元件仍可提供有價值的服務。

最重要的是, 微服務使技術團隊能夠與 企業 需求保持一致,並且可以調整團隊的大小以匹配所需的任務。通常,微服務團隊規模較小但是跨部門,並專注於整個應用程式的單個元件。通過提供對個人服務的所有權, 打破團隊之間的孤島,並改善協作。這種方法對於分散式和遠端團隊尤其強大 更加適用於多地辦公愈加頻繁的當下

從其本質上來說,微服務的目的就是有效的拆分應用,實現敏捷開發和部署。根據康威定律,系統架構和組織架構會相互影響 ,在微服務架構的影響下, 微服務小組 變為了 一個獨立特性的全功能團隊,來面向終端使用者需求直接對戰 最後 所有的資訊和想法都在這個小範圍內快速交流,業務價值流動清晰可見,軟體與企業和這個瞬息萬變的時代一起,實現快速更迭的目標。

 


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69965343/viewspace-2850623/,如需轉載,請註明出處,否則將追究法律責任。

相關文章