1. 程式人生 > >應用架構的演進歷史 MVC、 RPC、SOA 和 微服務架構

應用架構的演進歷史 MVC、 RPC、SOA 和 微服務架構

本文摘自 李林峰著的《分散式服務框架原理與實踐》

這裡寫圖片描述

  • MVC (Modle View Controller) 架構: 當業務規模很小時,將所有功能都部署在同一個程序中,通過雙機或者前置負載均衡器實現負載分流;此時,用於分離前後臺邏輯的 MVC 架構是關鍵。

  • RPC (Remote Procedure Call)架構:當垂直應用越來越多,應用之間互動不可避免,將核心和公共業務抽取出來,作為獨立的服務,實現前後臺邏輯分離。此時,用於提高業務複用及拆分的 RPC 框架是關鍵。

  • SOA (Service Oriented Architecture)架構:隨著業務發展,服務數量越來越多,服務生命週期管控和執行態的治理成為瓶頸,此時用於提升服務質量的 SOA 服務治理是關鍵。

  • 微服務架構:隨著敏捷開發、持續支付、DevOps 理論的發展和實踐,以及基於 Docker 等輕量級容器 (LXC) 部署應用和服務的成熟,微服務架構開始流行,逐漸成為應用架構的未來演進方向。通過服務的原子化拆分,以及微服務的獨立打包、部署和升級,小團隊敏捷交付,應用的交付週期將縮短,運營成本也將大幅下降。