Dubbo核心概念

?

?

?

節點角色規范

節點角色規格
Provider提供者公開遠程服務
Consumer消費者致電遠程服務
Registry注冊表負責服務發現和配置
Monitor監視器計算服務調用的數量和耗時
Container容器管理服務的生命周期

服務關系

?

  1. Container負責啟動,加載和運行服務Provider
  2. ProviderRegister在啟動時向其注冊服務。
  3. ConsumerRegister啟動時開始訂閱所需的服務。
  4. RegisterProviders列表返回Consumer,當它更改時,RegisterConsumer通過長連接將更改的數據推送到。
  5. ConsumerProvider根據軟負載平衡算法選擇s?之一并執行調用,如果失敗,它將選擇另一個Provider
  6. 兩者ConsumerProvider都會計算內存中調用服務的次數和耗時,并將統計信息發送到Monitor每分鐘。

Dubbo具有以下功能:連接性,魯棒性,可伸縮性和可升級性。

?

?

連接性

  • Register負責注冊和搜索服務地址(例如目錄服務),Provider并且Consumer僅在啟動期間與注冊表交互,并且注冊表不會轉發請求,因此壓力較小
  • “監視器”負責計算服務調用的數量和耗時,統計信息將首先在ProviderConsumer的內存中匯總,然后發送到Monitor
  • “提供商”將服務注冊到“注冊”,并將耗時的統計信息(不包括網絡開銷)報告給“監控器”
  • “消費者”從中獲取服務提供商的地址列表,Registry根據LB算法直接致電提供商,向上報耗時的統計信息Monitor,其中包括網絡開銷
  • 之間的連接RegisterProvider并且Consumer是長連接,Moniter是一個例外
  • RegisterProvider通過長連接意識到存在,當斷開連接時ProviderRegister會將事件推送到Consumer
  • 它不影響已經運行的實例ProviderConsumer甚至所有RegisterMonitor趴下,因為Consumer得到的緩存Provider上榜
  • Register并且Monitor是可選的,Consumer可以Provider直接連接

?

?

堅固性

  • Monitor的停機時間不會影響使用情況,只會丟失一些采樣數據
  • 當數據庫服務器出現故障時,Register可以通過檢查其緩存將服務Provider列表返回到Consumer其中,但是新服務器Provider無法注冊任何服務
  • Register?是一個對等集群,當任何實例出現故障時,它將自動切換到另一個集群
  • 即使所有Register實例都發生故障,Provider并且Consumer仍然可以通過檢查其本地緩存來進行通信
  • 服務Provider是無狀態的,一個實例的停機時間不會影響使用情況
  • Provider一個服務的所有s故障后,Consumer無法使用該服務,并無限地重新連接以等待服務Provider恢復

?

?

可擴展性

  • Register?是一個可以動態增加其實例的對等群集,所有客戶端將自動發現新實例。
  • Provider是無狀態的,它可以動態地增加部署實例,并且注冊表會將新的服務提供者信息推送到Consumer

可升級性

當服務集群進一步擴展并且IT治理結構進一步升級時,需要動態部署,并且當前的分布式服務體系結構不會帶來阻力。這是未來可能的架構:

?

節點角色規范

節點角色規格
Deployer用于自動服務部署的本地代理
Repository該存儲庫用于存儲應用程序包
Scheduler調度程序會根據訪問壓力自動增加或減少服務提供商
Admin統一管理控制臺
Registry注冊表負責服務發現和配置
Monitor監控器計算服務呼叫時間和時間

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/272179.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/272179.shtml
英文地址,請注明出處:http://en.pswp.cn/news/272179.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

良心推薦11款可以稱得上“神器”的Windows工具集合

1、最快文件搜索工具 Everything:當之無愧的最強本地文件搜索神器,搜索任何關鍵詞基本是秒速出現,比Windows自帶的搜索快了太多,電腦文件比較多的人必備! 2、專業軟件卸載器 Revo Uninstaller Pro:Windows電…

HDU 2461 Rectangles#容斥原理

http://acm.hdu.edu.cn/showproblem.php?pid2461 題目很簡單,但是由于詢問數M可以很大,所以容易超時,這道題學到了在結構體里面寫函數的方法,這樣子效率更高,否則的話,這道題就TLE了。 根據容斥原理&#…

LD3320語音識別模塊二次開發及與樹莓派間的通訊

實物圖如下: 一般這種模塊的資料廠家都會給,需要的話可以私信我發郵箱,下面介紹該模塊的各種參數。型號:YS-LDV7名稱:一體化語音識別模塊規格:43*29.7MM供電電壓:5V (內部工作電壓…

HTTP的長鏈接和短鏈接說明

HTTP的長鏈接和短鏈接實際上是TCP的長連接和短鏈接。首先我們先介紹一下TCP/IP協議組四層模型。其中包括以下: 應用層:HTTP、FTP、DNS、TELNET等協議傳輸層:TCP、UDP網絡層:IP、ARP、RARP、ICMP協議等網絡接口層:是TC…

多生產者_你是生產者還是消費者?這決定了你的層次。

不知道你有沒有注意到,每天乘坐地鐵上下班的時候,大部分人都在刷劇、看視頻、打游戲等等,總之都屬于玩樂。用生產和消費的關系來看的話,其實這一大部分人都屬于消費者,“時間和注意力”是他們用于交換的籌碼&#xff1…

eclipse Android 開發基礎 Activity 窗體 界面

eclipse Android 開發基礎 新建工程 新建布局layout,new Android Activity就相當于窗體Form。 新建Activity自動生成src下同名的java代碼。 public class Tform2activity extends Activity {Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(saved…

8 種常被忽視的 SQL 錯誤用法

來源&#xff1a;http://t.cn/R6UMaA11、LIMIT 語句2、隱式轉換3、關聯更新、刪除4、混合排序5、EXISTS語句6、條件下推7、提前縮小范圍8、中間結果集下推總結sql語句的執行順序&#xff1a;FROM <left_table>ON <join_condition><join_type> JOIN <right…

變頻器按啟動沒反應_起重機軟啟動柜晶閘管損壞維修幾大故障

缺相保護功能&#xff1a;工作時&#xff0c;軟起動器隨時檢測三相線電流的變化&#xff0c;一旦發生斷流&#xff0c;即可作出缺相保護反應。過熱保護功能&#xff1a;通過軟起動器內部熱繼電器檢測晶閘管散熱器的溫度&#xff0c;一旦散熱器溫度超過允許值后自動關斷晶閘管&a…

Redis 的各項功能解決了哪些問題?

作者丨blackheart先看一下Redis是一個什么東西官方簡介解釋到&#xff1a;Redis是一個基于BSD開源的項目&#xff0c;是一個把結構化的數據放在內存中的一個存儲系統&#xff0c;你可以把它作為數據庫&#xff0c;緩存和消息中間件來使用。同時支持strings&#xff0c;lists&am…

python datetime用法_python datetime用法學習筆記

一、主要思路&#xff1a;1.把表示時間的str轉換為datetime對象2.操作datetime對象輸出期望的時間格式二、把表示時間的str轉換為datetime對象語法&#xff1a;datetime.strptime(date_str, format)示例&#xff1a;date_str "2017-06-23 21:08:12"date_obj dateti…

RocketMQ集成SpringBoot

RocketMQ集成SpringBoot RocketMQ總體架構 RocketMQ基本特性

協議(Protocol)與委托代理(Delegate)

協議(Protocol)的作用&#xff1a; 1. 規范接口&#xff0c;用來定義一套公用的接口&#xff1b; 2. 約束或篩選對象。 代理(Delegate)&#xff1a; 它本身是一種設計模式&#xff0c;委托一個對象<遵守協議>去做某件事情&#xff0c;目的是為了降低對象間的耦合度&#…

ASP.NET Core 2.2+Quartz.Net 實現Web定時任務

作者&#xff1a;Julian_醬鏈接&#xff1a;http://www.cnblogs.com/mi12205599/p/10361763.html作為一枚后端程序狗&#xff0c;項目實踐常遇到定時任務的工作&#xff0c;最容易想到的的思路就是利用Windows計劃任務/wndows service程序/Crontab程序等主機方法在主機上部署定…

lj245a引腳功能圖_ULN2003A引腳圖及功能-uln2003a原理

ULN是集成達林頓管IC&#xff0c;內部還集成了一個消線圈反電動勢的二極管&#xff0c;可用來驅動繼電器。它是雙列16腳封裝,NPN晶體管矩陣,最大驅動電壓50V,電流500mA,輸入電壓5V,適用于TTL COMS,由達林頓管組成驅動電路。ULN是集成達林頓管IC,內部還集成了一個消線圈反電動勢…

RocketMQ核心概念

生產者Producer和消費者Consumer NameServer作用 Broker和Topic

交叉編譯、軟硬鏈接

什么是交叉編譯&#xff1f;交叉編譯是一個行為&#xff0c;是在一個平臺上生成另一個平臺上的可執行代碼。 本地編譯&#xff1a;本地編譯可以理解為&#xff0c;在當前編譯平臺下&#xff0c;編譯出來的程序只能放到當前平臺下運行。平時我們常見的軟件開發&#xff0c;都是…

掃地機器人狗毛_掃地機器人:我是清理狗毛的!不是清理狗屎的!

原標題&#xff1a;掃地機器人&#xff1a;我是清理狗毛的&#xff01;不是清理狗屎的&#xff01;掃地機器人可以清潔地面和角落里的垃圾&#xff0c;對于滿是毛毛的鏟屎官家庭來說&#xff0c;簡直就是福音吶&#xff01;不過最近&#xff0c;槽點卻有點多&#xff1a;家里買…

Linus下安裝maven

下載maven安裝包 wget http://mirror.bit.edu.cn/apache/maven/binaries/apache-maven-3.2.2-bin.tar.gz 解壓 tar -zxvf apache-maven-3.2.2-bin.tar.gz 配置maven環境變量 查看maven解壓后安裝包目錄 vi /etc/profile 進入最底部&#xff0c;按insert,添加環境變量&#x…

linux內核開發基礎(linux內核源碼、樹莓派源碼編譯、SD卡掛載)

首先下載樹莓派linux內核源碼&#xff1a; 下載網址&#xff1a;https://github.com/raspberrypi/linux在樹莓派使用指令&#xff1a;uname -r查看當前樹莓派的版本號&#xff0c;然后選擇對應的linux內核版本號進行下載。 將linux內核源碼從共享文件夾拷貝到SYSTEM文件夾&am…