dubbo 學習教程-基礎 附GitHub 源碼 ( 一 )

原文鏈接:https://blog.csdn.net/weixin_40533111/article/details/83411965 作者四月天五月雨^_^,轉載請註明出處,謝謝

聲明

本文參考dubbo官網:http://dubbo.apache.org/en-us/docs/user/preface/architecture.html

具體代碼可參考:dubbo使用小全 分析 理解 附GitHub 源碼 ( 二 )

本篇是概念,理論,代碼請參考下篇

1.背景

  1. 架構演變:

    單一應用架構->垂直應用架構->分佈式服務架構(初級版)->流動計算架構(SOA)
    在這裏插入圖片描述
    分佈式服務架構
    當垂直應用越來越多,應用之間交互不可避免,將核心業務抽取出來,作爲獨立的服務,逐漸形成穩定的服務中心,隨着服務的越來越多,各種服務的相互交互愈加緊密,耦合性太強,牽一髮動全身,所有的服務體系像鋼絲球一樣,此時,一箇中央管理,調度中心便呼之欲出了,
    流動計算架構
    當服務越來越多,容量的評估,小服務資源的浪費等問題逐漸顯現,此時需增加一個調度中心基於訪問壓力實時管理集羣容量,提高集羣利用率。此時,用於提高機器利用率的資源調度和治理中心(SOA)是關鍵.

  2. 架構
    在這裏插入圖片描述
    節點角色說明:

    Provider: 暴露服務的服務提供方
    Consumer: 調用遠程服務的服務消費方
    Registry: 服務註冊與發現的註冊中心
    Monitor: 統計服務的調用次數和調用時間的監控中心
    Container: 服務運行容器

    調用關係說明
    1.服務容器負責啓動,加載,運行服務提供者。
    2.服務提供者在啓動時,向註冊中心註冊自己提供的服務。
    3.服務消費者在啓動時,向註冊中心訂閱自己所需的服務。
    4.註冊中心返回服務提供者地址列表給消費者,如果有變更,註冊中心將基於長連接推送變更數據給消費者。
    5.服務消費者,從提供者地址列表中,基於軟負載均衡算法,選一臺提供者進行調用,如果調用失敗,再選另一臺調用。
    6.服務消費者和提供者,在內存中累計調用次數和調用時間,定時每分鐘發送一次統計數據到監控中心。

    Dubbo 架構具有以下幾個特點,分別是連通性、健壯性、伸縮性、以及向未來架構的升級性。
    1.連通性
    註冊中心負責服務地址的註冊與查找,相當於目錄服務,服務提供者和消費者只在啓動時與註冊中心交互,註冊中心不轉發請求,壓力較小
    監控中心負責統計各服務調用次數,調用時間等,統計先在內存彙總後每分鐘一次發送到監控中心服務器,並以報表展示
    服務提供者向註冊中心註冊其提供的服務,並彙報調用時間到監控中心,此時間不包含網絡開銷
    服務消費者向註冊中心獲取服務提供者地址列表,並根據負載算法直接調用提供者,同時彙報調用時間到監控中心,此時間包含網絡開銷
    註冊中心,服務提供者,服務消費者三者之間均爲長連接,監控中心除外
    註冊中心通過長連接感知服務提供者的存在,服務提供者宕機,註冊中心將立即推送事件通知消費者
    註冊中心和監控中心全部宕機,不影響已運行的提供者和消費者,消費者在本地緩存了提供者列表
    註冊中心和監控中心都是可選的,服務消費者可以直連服務提供者

    2.健狀性
    監控中心宕掉不影響使用,只是丟失部分採樣數據
    數據庫宕掉後,註冊中心仍能通過緩存提供服務列表查詢,但不能註冊新服務
    註冊中心對等集羣,任意一臺宕掉後,將自動切換到另一臺
    註冊中心全部宕掉後,服務提供者和服務消費者仍能通過本地緩存通訊
    服務提供者無狀態,任意一臺宕掉後,不影響使用
    服務提供者全部宕掉後,服務消費者應用將無法使用,並無限次重連等待服務提供者恢復

    3.伸縮性
    註冊中心爲對等集羣,可動態增加機器部署實例,所有客戶端將自動發現新的註冊中心
    服務提供者無狀態,可動態增加機器部署實例,註冊中心將推送新的服務提供者信息給消費者

    4.升級性
    當服務集羣規模進一步擴大,帶動IT治理結構進一步升級,需要實現動態部署,進行流動計算,現有分佈式服務架構不會帶來阻力。下圖是未來可能的一種架構:
    在這裏插入圖片描述

    節點角色說明

    Deployer 自動部署服務的本地代理
    Repository 倉庫用於存儲服務應用發佈包
    Scheduler 調度中心基於訪問壓力自動增減服務提供者
    Admin 統一管理控制檯
    Registry 服務註冊與發現的註冊中心
    Monitor 統計服務的調用次數和調用時間的監控中心

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