Dubbo簡介

1、Dubbo:一個分佈式、高性能、透明化的RPC服務框架(所謂的RPC框架就是不知道遠程服務器的具體實現,只知道遠程服務器提供了什麼功能,這裏運用了代理設計模式 )

2、作用:提供服務自動註冊、自動發現等高效服務治理方案.


3、Dubbo架構圖(重點)

    3.1 :Provider :提供者,服務發佈方.

    3.2:Consumer:消費者, 調用服務方

    3.3:Container:Dubbo容器.依賴於Spring容器.

    3.4:Registry:註冊中心.當Container啓動時把所有可以提供的服務列表上Registry中進行註冊.

        3.4.1作用:告訴Consumer提供了什麼服務和服務方在哪裏.

    3.5:Monitor:監聽器

    3.6:虛線都是異步訪問,實線都是同步訪問

    3.7:(init 初始化)藍色虛線:在啓動時完成的功能

    3.8:紅色虛線(實線)都是程序運行過程中執行的功能

    3.9:所有的角色都是可以在單獨的服務器上.所以必須遵守特定的協議.

4、運行原理(重點)

    4.0:(start)啓動容器,相當於在啓動Dubbo的Provider

    4.1:(registry)啓動後會去註冊中心進行註冊,註冊所有可以提供的服務列表

    4.2:(subscribe 訂閱)在Consumer啓動後會去register中獲取服務列表和Provider的地址,進行訂閱

    4.3:(notify 通知)當Provider有修改後,註冊中心會把消息推送給Consumer

        4.3.1:使用了觀察者設計模式(又叫發佈/訂閱設計模式)。這裏的Registry相當於被觀察者,Consumer相當於觀察者,當Consumer發現Registry發生了變化後,Consumer就會跟隨變化併發生一定的改變

    4.4:(invoke)根據獲取到的Provider地址,真實調用Provider中的功能

        4.4.1:在Consumer方使用了代理設計模式,創建Provider方類的一個代理對象,通過代理對象獲取Provider中的真實功能,起到保護Provider真實功能的作用

    4.5:(count)Consumer和Provider每隔1分鐘就會向Monitor發送統計信息,統計信息包括訪問次數、頻率等。

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