初探分佈式系統~~~dubbo理論

1,什麼是分佈式系統?

分佈式系統是若干個個獨立運算的集合,由一組經過網絡進行通訊,爲了完成任務而協調工做的計算機節點組成的系統;前端

目的是爲了利用更多的機器,處理更多的數據;服務器

分佈式架構的實現就不得不說dubbo了;網絡

2.dubbo

什麼是dubbo架構

是一款高性能,輕量級的開源Java RPC框架負載均衡

它提供了三大核心能力:面向接口的遠程方法調用,智能容錯和負載均衡,以及服務的自動註冊和發現框架

 

背景異步

本文介紹了網站應用的演進

隨着互聯網的發展,網站應用的規模不斷擴大,常規的垂直應用架構已沒法應對,分佈式服務架構以及流動計算架構勢在必行,亟需一個治理系統確保架構有條不紊的演進。async

image

單一應用架構

當網站流量很小時,只需一個應用,將全部功能都部署在一塊兒,以減小部署節點和成本。此時,用於簡化增刪改查工做量的數據訪問框架(ORM)是關鍵。分佈式

垂直應用架構

當訪問量逐漸增大,單一應用增長機器帶來的加速度愈來愈小,提高效率的方法之一是將應用拆成互不相干的幾個應用,以提高效率。此時,用於加速前端頁面開發的Web框架(MVC)是關鍵。性能

分佈式服務架構

當垂直應用愈來愈多,應用之間交互不可避免,將核心業務抽取出來,做爲獨立的服務,逐漸造成穩定的服務中心,使前端應用能更快速的響應多變的市場需求。此時,用於提升業務複用及整合的分佈式服務框架(RPC)是關鍵。

流動計算架構

當服務愈來愈多,容量的評估,小服務資源的浪費等問題逐漸顯現,此時需增長一個調度中心基於訪問壓力實時管理集羣容量,提升集羣利用率。此時,用於提升機器利用率的資源調度和治理中心(SOA)是關鍵。

 

dubbo的本質

遠程服務調用的分佈式框架,經過RPC方式在個服務器間傳輸信息

 

RPC基本原理

 

 

 

步驟解析

 

client stub和server stub均是各真實角色的動態代理,通俗的數各真實角色要作的事情要經過xx stub這個代理角色去實現

注意:RPC的兩個核心:通信,序列化

 

擴展:

經過RPC(遠程過程調用)就能得知,在分佈式架構的項目的每一個實體類爲何都要去序列化了

緣由:爲了能將實體類信息經過RPC(思想,不是具體實現方法)傳輸出去

序列化的做用

方便對象的傳輸

由於計算機信息的傳輸方式是二進制的,因此對象或其餘格式的信息是不能直接傳輸的,須要序列化成二進制後才能傳輸,對方收到好在發序列化,就能獲得對象信息;

 

RPC是思想,而dubbo是基於rpc的框架

 

3.dubbo結構

init:初始化  async:異步  sync:同步

1.register:註冊  2.subscribe:訂閱  3.notify:通知  4.invoke:執行

 

 

 

相關文章
相關標籤/搜索