dubbo初識

1.什麼是dubbo?   

       dubbo 是一個分佈式服務框架 是一個高性能的RPC框架 它提供了三大核心能力:面向接口的遠程方法調用,智能容錯和負載均衡,以及服務自動註冊和發現。前端

談到了分佈式服務框架 那必然有單一服務框架接下來就談談服務框架的演變過程算法

單一應用架構

      當網站流量很小時 只須要一個應用 將全部的功能都部署在一個應用上架構

優勢負載均衡

  1. 節省帶寬和成本
  2. 簡單易用

  缺點框架

  1. 因爲把全部的功能部署在一個應用上 不方便擴展功能
  2. 不利於團隊合做開發
  3. 不利於升級維護

 垂直應用架構分佈式

      有了缺點就會有改進因而 垂直應用架構就出現了  垂直應用框架將應用拆分紅互不相關的應用 ide

優勢性能

  1. 經過切分應用來實現各個模塊之間的相互獨立 方便團隊合做
  2. 因爲模塊之間的獨立 使得維護成本和部署成本下降了
  3. 性能擴展更方便

缺點網站

  1. 因爲模塊不在同一個服務  使得公用模塊之間的服務沒法重複利用 

 分佈式服務架構spa

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

優勢

  1. 模塊之間能夠相互調用 增長了重用率

缺點

  1. 當服務愈來愈多,容量的評估 小服務資源浪費的狀況愈來愈顯著 

 流動計算架構

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

 什麼叫RPC?

RPC【Remote Procedure Call】是指遠程過程調用,說到遠程過程調用 那就要談到本地過程調用 本地過程當中不一樣方法之間能夠相互調用 可是它只適用於同一個服務中  當咱們在多個服務中想調用不一樣服務中的方法這時候就須要RPC   它是一種進程間通訊方式 適用於不一樣服務之間的通訊 

RPC兩個核心模塊:通信,序列化。

 

 

 2.爲何又要使用dubbo ?

     1.透明化的遠程方法調用,就像調用本地方法同樣調用遠程方法

     2.支持負載均衡算法及容錯機制

     3.支持服務自動註冊與發現 

 

         隨着技術的發展 應用的發展也愈來愈快 項目的體積也愈來愈大  分佈式服務框架也愈來愈常見 爲了更加方便快捷的對應用進行開發、治理 因而dubbo就出現了

服務提供者(provider):暴露服務的服務提供方 服務提供者在啓動的時候 就會向註冊中心註冊本身的服務

註冊中心(Registry):註冊中心返回服務提供者的地址列表給消費者 若是有變動 註冊中心將基於長鏈接推送變動數據給消費者

服務消費者(Consumer):服務消費者在啓動時 會向註冊中心訂閱本身所需的服務 服務消費者會從地址列表中 經過負載均衡算法 選一臺提供者進行調用 若是調用失敗 在選另一臺

監控中心(Monitor):服務消費者和提供者,在內存中累計調用次數和調用時間,定時每分鐘發送一次統計數據到監控中心

 

調用關係說明

服務容器負責啓動,加載 運行服務提供者

服務提供者在啓動時 向註冊中心註冊本身提供的服務

註冊中心返回提供者地址列表給消費者 若是有變動 註冊中心將基於長鏈接推送變動數據給消費者

服務消費者在啓動時 向註冊中心訂閱本身所需的服務

服務消費者 從地址提供列表中 基於負載均衡算法 選一臺提供者進行調用 若是調用失敗 再選另外一臺進行調用

相關文章
相關標籤/搜索