1.什么是dubbo?
dubbo 是一個分布式服務框架 是一個高性能的RPC框架 它提供了三大核心能力:面向介面的遠程方法呼叫,智能容錯和負載均衡,以及服務自動注冊和發現,
談到了分布式服務框架 那必然有單一服務框架接下來就談談服務框架的演變程序
單一應用架構

當網站流量很小時 只需要一個應用 將所有的功能都部署在一個應用上
優點
- 節省帶寬和成本
- 簡單易用
缺點
- 由于把所有的功能部署在一個應用上 不方便擴展功能
- 不利于團隊合作開發
- 不利于升級維護
垂直應用架構

有了缺點就會有改進于是 垂直應用架構就出現了 垂直應用框架將應用拆分成互不相關的應用
優點
- 通過切分應用來實作各個模塊之間的相互獨立 方便團隊合作
- 由于模塊之間的獨立 使得維護成本和部署成本降低了
- 性能擴展更方便
缺點
- 由于模塊不在同一個服務 使得公用模塊之間的服務無法重復利用
分布式服務架構

當垂直應用越來越大 應用之間的互動不可避免 將核心業務抽取出來 作為獨立的服務 逐漸形成穩定的服務中心 使前端應用能夠適應多變的市場 此時 用于提供業務的復用及整合的分布式服務框架(RPC)是關鍵,
優點
- 模塊之間可以相互呼叫 增加了重用率
缺點
- 當服務越來越多,容量的評估 小服務資源浪費的情況越來越顯著
流動計算架構

當服務越來越多,容量的評估,小服務資源的浪費等問題逐漸顯現,此時需增加一個調度中心基于訪問壓力實時管理集群容量,提高集群利用率,此時,用于提高機器利用率的資源調度和治理中心(SOA)[ Service Oriented Architecture]是關鍵,
什么叫RPC?
RPC【Remote Procedure Call】是指遠程程序呼叫,說到遠程程序呼叫 那就要談到本地程序呼叫 本地程序中不同方法之間可以相互呼叫 但是它只適用于同一個服務中 當我們在多個服務中想呼叫不同服務中的方法這時候就需要RPC 它是一種行程間通信方式 適用于不同服務之間的通信
RPC兩個核心模塊:通訊,序列化,

2.為什么又要使用dubbo ?
1.透明化的遠程方法呼叫,就像呼叫本地方法一樣呼叫遠程方法
2.支持負載均衡演算法及容錯機制
3.支持服務自動注冊與發現

隨著技術的發展 應用的發展也越來越快 專案的體積也越來越大 分布式服務框架也越來越常見 為了更加方便快捷的對應用進行開發、治理 于是dubbo就出現了
服務提供者(provider):暴露服務的服務提供方 服務提供者在啟動的時候 就會向注冊中心注冊自己的服務
注冊中心(Registry):注冊中心回傳服務提供者的地址串列給消費者 如果有變更 注冊中心將基于長連接推送變更資料給消費者
服務消費者(Consumer):服務消費者在啟動時 會向注冊中心訂閱自己所需的服務 服務消費者會從地址串列中 通過負載均衡演算法 選一臺提供者進行呼叫 如果呼叫失敗 在選另外一臺
監控中心(Monitor):服務消費者和提供者,在記憶體中累計呼叫次數和呼叫時間,定時每分鐘發送一次統計資料到監控中心
呼叫關系說明
服務容器負責啟動,加載 運行服務提供者
服務提供者在啟動時 向注冊中心注冊自己提供的服務
注冊中心回傳提供者地址串列給消費者 如果有變更 注冊中心將基于長連接推送變更資料給消費者
服務消費者在啟動時 向注冊中心訂閱自己所需的服務
服務消費者 從地址提供串列中 基于負載均衡演算法 選一臺提供者進行呼叫 如果呼叫失敗 再選另一臺進行呼叫
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/2331.html
標籤:SharePoint
