- OpenShift在企業中的實踐:PaaS DevOps微服務(第2版)
- 魏新宇 郭躍軍
- 551字
- 2021-11-05 10:17:08
1.4 企業數字化轉型之微服務
1.4.1 微服務架構簡介
微服務這個概念并不是近年才有的,但這兩年隨著以容器為核心的新一代應用承載平臺的崛起,微服務煥發了新的生命力。
傳統的巨大單體(Monolithic)應用程序在部署和運行時,需要單臺服務器具有大量內存和其他資源。巨大的單體應用必須通過在多個服務器上復制整個應用程序來實現橫向擴展,因此其擴展能力極差;此外,這些應用程序往往更復雜,各個功能組件緊耦合,使得維護和更新更加困難。在這種情況下,想單獨升級應用的一個功能組件,就會有“牽一發而動全身”的困擾。
在微服務架構中,傳統的巨大單體應用被拆分為小型模塊化的服務,每項服務都圍繞特定的業務領域構建,不同微服務可以用不同的編程語言編寫,甚至可以使用完全不同的工具進行管理和部署。
與單體應用程序相比,微服務組織更好、更小、更松耦合,并且是獨立開發、測試和部署的。由于微服務可以獨立發布,因此修復錯誤或添加新功能所需的時間要短得多,并且可以更有效地將更改部署到生產中。此外,由于微服務很小且無狀態,因此更容易擴展。
總體而言,微服務通常具有以下特點:
·以單個業務或域為模型。
·每個微服務實現自己的業務邏輯,包含獨立的持久數據存儲。
·每個微服務有一個單獨發布的API。
·每個微服務能夠獨立運行。
·每個微服務獨立于其他服務且松耦合。
·每個微服務可以獨立地升級、回滾、擴容、縮容。
推薦閱讀
- Java范例大全
- Effective C#:改善C#代碼的50個有效方法(原書第3版)
- 華為HMS生態與應用開發實戰
- Three.js開發指南:基于WebGL和HTML5在網頁上渲染3D圖形和動畫(原書第3版)
- Python高級編程
- HTML5游戲開發案例教程
- HTML5+CSS3網站設計教程
- 面向對象程序設計(Java版)
- Building a Quadcopter with Arduino
- Learning FuelPHP for Effective PHP Development
- Mastering Git
- HTML+CSS+JavaScript網頁設計從入門到精通 (清華社"視頻大講堂"大系·網絡開發視頻大講堂)
- ArcGIS for Desktop Cookbook
- Learning Splunk Web Framework
- 網絡數據采集技術:Java網絡爬蟲實戰