爲何須要使用微服務

爲何要使用微服務? 技術爲業務而生,架構也爲業務而出現,固然SOA和微服務也是由於業務的發展而出現。出現SOA和微服務框架與業務的發展、平臺的壯大密不可分,下面借用dubbo的網站架構發展圖和說明:前端

 單一應用架構  當網站流量很小時,只需一個應用,將全部功能都部署在一塊兒,以減小部署節點和成本。  此時,用於簡化增刪改查工做量的 數據訪問框架(ORM) 是關鍵。  垂直應用架構  當訪問量逐漸增大,單一應用增長機器帶來的加速度愈來愈小,將應用拆成互不相干的幾個應用,以提高效率。  此時,用於加速前端頁面開發的 Web框架(MVC) 是關鍵。  分佈式服務架構  當垂直應用愈來愈多,應用之間交互不可避免,將核心業務抽取出來,做爲獨立的服務,逐漸造成穩定的服務中心,使前端應用能更快速的響應多變的市場需求。  此時,用於提升業務複用及整合的 分佈式服務框架(RPC) 是關鍵。  流動計算架構  當服務愈來愈多,容量的評估,小服務資源的浪費等問題逐漸顯現,此時需增長一個調度中心基於訪問壓力實時管理集羣容量,提升集羣利用率。  此時,用於提升機器利用率的 資源調度和治理中心(SOA) 是關鍵。 平臺隨着業務的發展從 All in One 環境就能夠知足業務需求(以Java來講,可能只是一兩個war包就解決了)。後端

發展到須要拆分多個應用,而且採用MVC的方式分離先後端,加快開發效率;在發展到服務愈來愈多,不得不將一些核心或共用的服務拆分出來,其實發展到此階段,若是服務拆分的足夠精細,而且獨立運行,我以爲就能夠將之理解爲一個微服務了。架構

聲明(侵刪)框架

參考文獻: 原文:https://blog.csdn.net/jiaoyajieqianyi/article/details/84102840分佈式

相關文章
相關標籤/搜索