Dubbo開始於電商系統,所以在這裏先從電商系統的演變講起。前端
單一應用框架(ORM)
當網站流量很小時,只需一個應用,將全部功能以下單支付等都部署在一塊兒,以減小部署節點和成本。
缺點:單一的系統架構,使得在開發過程當中,佔用的資源愈來愈多,並且隨着流量的增長愈來愈難以維護 架構
垂直應用框架(MVC)
垂直應用架構解決了單一應用架構所面臨的擴容問題,流量可以分散到各個子系統當中,且系統的體積可控,必定程度上下降了開發人員之間協同以及維護的成本,提高了開發效率。
缺點:可是在垂直架構中相同邏輯代碼須要不斷的複製,不能複用。 框架
分佈式應用架構(RPC)
當垂直應用愈來愈多,應用之間交互不可避免,將核心業務抽取出來,做爲獨立的服務,逐漸造成穩定的服務中心 分佈式
流動計算架構(SOA)
隨着服務化的進一步發展,服務愈來愈多,服務之間的調用和依賴關係也愈來愈複雜,誕生了面向服務的架構體系(SOA),也所以衍生出了一系列相應的技術,如對服務提供、服務調用、鏈接處理、通訊協議、序列化方式、服務發現、服務路由、日誌輸出等行爲進行封裝的服務框架網站
從以上是電商系統的演變能夠看出架構演變的過程: 日誌
單一應用架構blog
當網站流量很小時,只需一個應用,將全部功能都部署在一塊兒,以減小部署節點和成本。
此時,用於簡化增刪改查工做量的 數據訪問框架(ORM) 是關鍵。
垂直應用架構資源
當訪問量逐漸增大,單一應用增長機器帶來的加速度愈來愈小,將應用拆成互不相干的幾個應用,以提高效率。
此時,用於加速前端頁面開發的 Web框架(MVC) 是關鍵。
分佈式服務架構
當垂直應用愈來愈多,應用之間交互不可避免,將核心業務抽取出來,做爲獨立的服務,逐漸造成穩定的服務中心,使前端應用能更快速的響應多變的市場需求。
此時,用於提升業務複用及整合的 分佈式服務框架(RPC) 是關鍵。
流動計算架構
當服務愈來愈多,容量的評估,小服務資源的浪費等問題逐漸顯現,此時需增長一個調度中心基於訪問壓力實時管理集羣容量,提升集羣利用率。
此時,用於提升機器利用率的 資源調度和治理中心(SOA) 是關鍵。
路由