- OpenShift在企業中的實踐:PaaS DevOps微服務(第2版)
- 魏新宇 郭躍軍
- 12字
- 2021-11-05 10:17:08
1.4 企業數字化轉型之微服務
1.4.1 微服務架構簡介
微服務這個概念并不是近年才有的,但這兩年隨著以容器為核心的新一代應用承載平臺的崛起,微服務煥發了新的生命力。
傳統的巨大單體(Monolithic)應用程序在部署和運行時,需要單臺服務器具有大量內存和其他資源。巨大的單體應用必須通過在多個服務器上復制整個應用程序來實現橫向擴展,因此其擴展能力極差;此外,這些應用程序往往更復雜,各個功能組件緊耦合,使得維護和更新更加困難。在這種情況下,想單獨升級應用的一個功能組件,就會有“牽一發而動全身”的困擾。
在微服務架構中,傳統的巨大單體應用被拆分為小型模塊化的服務,每項服務都圍繞特定的業務領域構建,不同微服務可以用不同的編程語言編寫,甚至可以使用完全不同的工具進行管理和部署。
與單體應用程序相比,微服務組織更好、更小、更松耦合,并且是獨立開發、測試和部署的。由于微服務可以獨立發布,因此修復錯誤或添加新功能所需的時間要短得多,并且可以更有效地將更改部署到生產中。此外,由于微服務很小且無狀態,因此更容易擴展。
總體而言,微服務通常具有以下特點:
·以單個業務或域為模型。
·每個微服務實現自己的業務邏輯,包含獨立的持久數據存儲。
·每個微服務有一個單獨發布的API。
·每個微服務能夠獨立運行。
·每個微服務獨立于其他服務且松耦合。
·每個微服務可以獨立地升級、回滾、擴容、縮容。
推薦閱讀
- Data Visualization with D3 4.x Cookbook(Second Edition)
- Spring 5.0 Microservices(Second Edition)
- R語言數據可視化之美:專業圖表繪制指南
- 編程珠璣(續)
- C語言程序設計案例式教程
- 征服RIA
- TypeScript圖形渲染實戰:基于WebGL的3D架構與實現
- EPLAN實戰設計
- 高級語言程序設計(C語言版):基于計算思維能力培養
- MATLAB for Machine Learning
- Salesforce Reporting and Dashboards
- 學習OpenCV 4:基于Python的算法實戰
- Python極簡講義:一本書入門數據分析與機器學習
- Android嵌入式系統程序開發:基于Cortex-A8(第2版)
- OpenCV with Python Blueprints