- OpenShift在企業中的實踐:PaaS DevOps微服務(第2版)
- 魏新宇 郭躍軍
- 551字
- 2021-11-05 10:17:08
1.4 企業數字化轉型之微服務
1.4.1 微服務架構簡介
微服務這個概念并不是近年才有的,但這兩年隨著以容器為核心的新一代應用承載平臺的崛起,微服務煥發了新的生命力。
傳統的巨大單體(Monolithic)應用程序在部署和運行時,需要單臺服務器具有大量內存和其他資源。巨大的單體應用必須通過在多個服務器上復制整個應用程序來實現橫向擴展,因此其擴展能力極差;此外,這些應用程序往往更復雜,各個功能組件緊耦合,使得維護和更新更加困難。在這種情況下,想單獨升級應用的一個功能組件,就會有“牽一發而動全身”的困擾。
在微服務架構中,傳統的巨大單體應用被拆分為小型模塊化的服務,每項服務都圍繞特定的業務領域構建,不同微服務可以用不同的編程語言編寫,甚至可以使用完全不同的工具進行管理和部署。
與單體應用程序相比,微服務組織更好、更小、更松耦合,并且是獨立開發、測試和部署的。由于微服務可以獨立發布,因此修復錯誤或添加新功能所需的時間要短得多,并且可以更有效地將更改部署到生產中。此外,由于微服務很小且無狀態,因此更容易擴展。
總體而言,微服務通常具有以下特點:
·以單個業務或域為模型。
·每個微服務實現自己的業務邏輯,包含獨立的持久數據存儲。
·每個微服務有一個單獨發布的API。
·每個微服務能夠獨立運行。
·每個微服務獨立于其他服務且松耦合。
·每個微服務可以獨立地升級、回滾、擴容、縮容。
推薦閱讀
- Clojure Programming Cookbook
- HTML5移動Web開發技術
- Mastering ServiceStack
- Building a Home Security System with Raspberry Pi
- Architecting the Industrial Internet
- 基于Java技術的Web應用開發
- INSTANT Weka How-to
- Learn Programming in Python with Cody Jackson
- 游戲程序設計教程
- Python Data Analysis(Second Edition)
- Python編程從0到1(視頻教學版)
- 響應式Web設計:HTML5和CSS3實戰(第2版)
- Anaconda數據科學實戰
- Learning Jakarta Struts 1.2: a concise and practical tutorial
- Android初級應用開發