本文摘自 李林峰著的《分布式服務框架原理與實踐》
image.png
MVC (Modle View Controller) 架構: 當業務規模很小時,將所有功能都部署在同一個進程中,通過雙機或者前置負載均衡器實現負載分流;此時,用于分離前后臺邏輯的 MVC 架構是關鍵。
RPC (Remote Procedure Call)架構:當垂直應用越來越多,應用之間交互不可避免,將核心和公共業務抽取出來,作為獨立的服務,實現前后臺邏輯分離。此時,用于提高業務復用及拆分的 RPC 框架是關鍵。
SOA (Service Oriented Architecture)架構:隨著業務發展,服務數量越來越多,服務生命周期管控和運行態的治理成為瓶頸,此時用于提升服務質量的 SOA 服務治理是關鍵。
微服務架構:隨著敏捷開發、持續支付、DevOps 理論的發展和實踐,以及基于 Docker 等輕量級容器 (LXC) 部署應用和服務的成熟,微服務架構開始流行,逐漸成為應用架構的未來演進方向。通過服務的原子化拆分,以及微服務的獨立打包、部署和升級,小團隊敏捷交付,應用的交付周期將縮短,運營成本也將大幅下降。