1. 程式人生 > >應用架構的演進--MVC,RPC,SOA,微服務架構

應用架構的演進--MVC,RPC,SOA,微服務架構

MVC架構:垂直應用架構

  • 當訪問量逐漸增大,單一應用增加機器帶來的加速度越來越小,將應用拆成互不相干的幾個應用,以提升效率。
  • 當業務規模很小時,將所有功能都部署在同一個程序中,通過雙機或者前置負載均衡器實現負載分流

此時,加速前端頁面開發,分離前後臺邏輯的mvc框架是關鍵。

代表技術:Struts2、SpringMVC、Spring、Mybatis 等等。

RPC架構:分散式服務架構

  • 當垂直應用越來越多,應用之間互動不可避免,將核心業務抽取出來,作為獨立的服務,逐漸形成穩定的服務中心,使前端應用能更快速的響應多變的市場需求。

此時,用於提高業務複用及拆分的 RPC 框架是關鍵。

代表技術:Thrift、Hessian 等等

SOA架構:流動計算架構

  • 當服務越來越多,容量的評估,小服務資源的浪費等問題逐漸顯現,此時需增加一個排程中心基於訪問壓力實時管理叢集容量,提高叢集利用率。
  • 服務生命週期管控和執行態的治理成為瓶頸

此時,用於提高機器利用率的,提升服務質量的 (資源排程和治理中心)SOA 服務治理是關鍵。

代表技術:Mule、WSO2

微服務架構:

定義:

優點:

缺點:

微服務就是一個輕量級的服務治理方案。
代表技術:SpringCloud、dubbo 等等。