好程式設計師Java學習路線分享SpringCloud

好程式設計師IT發表於2019-08-02

一、 Web 應用架構的演變

隨著網際網路的發展,網站應用的規模不斷擴大,Web應用架構也在不斷的演變四個階段:單一應用、垂直應用、分散式服務、流動計算

1. 單一應用架構

當網站訪問量很小時,只需要一個應用程式,將所有的功能都部署在一起,以減少部署節點和成本  此時關鍵問題:簡化資料庫操作,資料訪問框架ORM是核心


適用場景:小型網站、管理系統、簡易辦公系統


侷限:

  1. 擴充套件性差
  2. 不便於協同開發
  3. 不利於升級維護

2. 垂直應用架構

當訪問量逐漸增大,單一應用(單機)負載太大,此時可以增加伺服器來進行負載均衡,提高響應速度,即集

 

   但是,當增加的伺服器到達一定資料時所帶來的加速度會越來越小,此時單純的增加伺服器已無法明顯提升響  應速度

 

此時,需要將系統業務拆分成多個   互不相關的   系統,分別部署在獨立的伺服器上,以提升效率,稱為垂直應

 

此時關鍵問題:加速前端頁面開發MVC框架(MVVM)


優點:透過拆分專案的業務,實現業務上的獨立,降低了開發和維護的難度,便於協同開發,提高了擴充套件性

 

  侷限:每個垂直模組中都有相同的內容(entity、dao、service、web), 公共資源無法複用,且業務邏輯與界  面無法分離

3. 分散式服務架構

當垂直應用越來越多,應用之間的互動無法避免,有些業務系統無法完全拆分為獨立系統。

 

  此時,可以將核心業務抽取出現,作為獨立的服務Service,逐漸的形成穩定的服務中心 ,使前端應用能夠更   好的適應市場需要的變化。

 

此時關鍵問題:提高業務的利用以及整合分散式服務框架RPC(Remote Procedure Call 遠端過程呼叫)


4. 流動計算架構

當服務越來越多,服務之間的呼叫和依賴關係也越來越複雜,誕生了面向服務聽架構體系(SOA  Service­

Oriented Architecture )

 

  容量的評估,小服務資源的浪費等問題開始出現,此時需要增加一個排程中心 ,基於訪問壓力實時的管理集   群容量,提高叢集利用率

 

此時關鍵問題:資源排程和治理中心,使用springCloud+zookeeper


RPC 簡介

1. RPC 是什麼

RPC Remote Procedure Call  遠端過程呼叫是一種程式間的通訊方式

它允許應用程式呼叫網路上的另一個應用程式中的方法

對於服務的消費者而言,無需瞭解遠端呼叫的底層細節,透明的

2.  執行流程

執行流程:

    1. 客戶端發起呼叫請求
    2. 客戶端存根   對請求引數 (介面、方法、引數等)進行序列化(封裝)
    3. 客戶端存根向   伺服器存根   傳送訊息
    4. 服務端存根   對接收到的訊息   進行反序列化


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69913892/viewspace-2652586/,如需轉載,請註明出處,否則將追究法律責任。

相關文章