好程序員Java學習路線分享SpringCloud

好程序員Java學習路線分享SpringCloud
一、Web應用架構的演變
隨着互聯網的發展,網站應用的規模不斷擴大,Web應用架構也在不斷的演變四個階段:單一應用、垂直應用、分佈式服務、流動計算
好程序員Java學習路線分享SpringCloud
1.單一應用架構
當網站訪問量很小時,只需要一個應用程序,將所有的功能都部署在一起,以減少部署節點和成本 此時關鍵問題:簡化數據庫操作,數據訪問框架ORM是核心
好程序員Java學習路線分享SpringCloud
適用場景:小型網站、管理系統、簡易辦公系統

侷限:
1.擴展性差
2.不便於協同開發
3.不利於升級維護

2.垂直應用架構

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

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

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

此時關鍵問題:加速前端頁面開發MVC框架(MVVM)
好程序員Java學習路線分享SpringCloud
優點:通過拆分項目的業務,實現業務上的獨立,降低了開發和維護的難度,便於協同開發,提高了擴展性

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

3.分佈式服務架構
當垂直應用越來越多,應用之間的交互無法避免,有些業務系統無法完全拆分爲獨立系統。

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

此時關鍵問題:提高業務的利用以及整合分佈式服務框架RPC(Remote Procedure Call 遠程過程調用)
好程序員Java學習路線分享SpringCloud
4.流動計算架構
當服務越來越多,服務之間的調用和依賴關係也越來越複雜,誕生了面向服務聽架構體系(SOA: Service­
Oriented Architecture )

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

此時關鍵問題:資源調度和治理中心,使用springCloud+zookeeper
好程序員Java學習路線分享SpringCloud
二、RPC簡介
1.RPC是什麼
RPC:Remote Procedure Call 遠程過程調用是一種進程間的通信方式
它允許應用程序調用網絡上的另一個應用程序中的方法
對於服務的消費者而言,無需瞭解遠程調用的底層細節,透明的

2.執行流程
好程序員Java學習路線分享SpringCloud
執行流程:
1.客戶端發起調用請求
2.客戶端存根 對請求參數(接口、方法、參數等)進行序列化(封裝)
3.客戶端存根向 服務器存根 發送消息
4.服務端存根 對接收到的消息 進行反序列化

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章