Dubbo從入門到上天系列第十八篇:Dubbo引入Zookeeper等注冊中心簡介以及DubboAdmin簡要介紹,為后續詳解Dubbo各種注冊中心做鋪墊!

文章目錄

一:Dubbo注冊中心引言

1:什么是Dubbo的注冊中心?

2:注冊中心關系圖解

3:引入注冊中心服務執行流程

4:Dubbo注冊中心好處

5:注冊中心核心作用

二:注冊中心實現方案

1:早期

2:當前現狀

三:DubboAdmin介紹

1:DubboAdmin簡介

2:DubboAdmin的主要功能


一:Dubbo注冊中心引言

1:什么是Dubbo的注冊中心?

? ? ? ? Dubbo注冊中心是Dubbo服務治理中極其重要的一個概念。它主要是用于對Rpc集群應用實例進行管理。

? ? ? ? 對于我們的Dubbo服務來講,至少有兩部分構成,一部分是Provider一部分是Consumer。一個提供服務,一個調用我們的服務。

? ? ? ? 后續隨著規模的擴大,單機Provider受限于物理機的內存、CPU、網絡帶寬等硬件瓶頸,以及隨著請求數量越來越多,鏈接數量也可能會達到瓶頸,這樣的話,我們需要橫向拓展我們的系統。這樣我們的Consumer和Provider都會越來越多!

? ? ? ? Consumer和Provider都會越來越多之后,如何管理這么多的實例就需要引入我們的注冊中心了。這就是Dubbo引入注冊中心的必要性!

2:注冊中心關系圖解

3:引入注冊中心服務執行流程

?????????Dubbo引入注冊中心之后,我們的服務流程有了一點點的變化!

? ? ? ? 引入注冊中心的目的就是為了管理Provider集群。其中管理者一個服務的一組多個實例。

? ? ? ? 第一步:作為我們這一組Provider實例,必須在服務啟動的時候首先向我們的注冊中心進行注冊,注冊的內容中最為核心的內容就是本服務的ip地址和端口號。(當然肯定有別的內容,后續介紹!)

? ? ? ? 第二步:我們的客戶端也就是消費者Consumer來對我們的提供者Provider來發起調用!所以,首先在消費者啟動的時候從注冊中心拉取、訂閱、服務發現我們的提供者的列表。把這個列表拉取到我們消費者的本地進行保存。

? ? ? ??第三步:這時候基于不同的負載均衡算法,從注冊中心管理的諸多提供者實例中挑選一個實例出來進行Rpc調用。(負載均衡算法為了滿足挑選實例的需要,這是一種客戶端負載均衡的策略。Ngnix是服務端的負載均衡)

? ? ? ? 第四步:第四步,我們就是要去做容錯機制。什么叫容錯呢?剛才,我們的服務器都進行了注冊,然后消費者都拿到了他們的注冊信息,萬一發起請求的時候,某個提供者服務端掛了呢?這是有可能的。

? ? ? ? 所以,容錯機制就是當我們真實發起調用的時候,如果服務端掛了,怎么能夠基于容錯機制,把請求打到可用的實例上。

? ? ? ? 第五步:獲取真實的反應結果。

4:Dubbo注冊中心好處

? ? ? ? 好處一:可以有效的管理RPC集群的健康情況,動態的上線或者下線服務。讓我們的服務更加?可?。

? ? ? ? 結合我們上邊的圖理解一下就好。注冊中心將所有的提供者都注冊到它本身,這樣注冊中心不僅僅留存了他們所有的ip和端口號。

????????更重要的是,有了這些信息之后,就可以對服務的健康問題進行檢查。

????????一旦服務掛了,可以實現服務的動態下線,或者流量激增,我們也可以動態讓我們的下線服務再次上線!注冊中心可以完成這個事!

????????好處二:Provider與Consumer解耦合。

? ? ? ? 不用注冊中心,我們就得進行消費者和提供者之間的直連,這樣的話把提供者的ip地址和端口號綁定到我們的消費者服務當中,這是一種耦合!

? ? ? ?好處三:提供負載均衡機制。

? ? ? ?可以合理的分配流量

? ? ? ?好處四:提供容錯機制。

? ? ? ? 剛才已經分析過了。某一個實例掛了,會自動切換到一個健康的實例上,這是一種高可用的體現!

5:注冊中心核心作用

????????作用一:服務注冊,服務提供者(Provider)在啟動時,會將自身可提供的服務注冊到注冊中心

????????作用二:服務發現,服務消費者(Consumer)在啟動時,會向注冊中心訂閱??需要的服務,注冊中心會將相應的服務提供者信息返回給消費者,消費者據此可以調用對應的服務。

????????作用三:服務路由,負載均衡、容錯

? ? ? ? 作用四:服務監控,注冊中?可以記錄服務的調?次數、調?延遲等信息,對服務的質量進?監控。

二:注冊中心實現方案

1:早期

? ? ? ? 早期在生產環境當中,我們主要使用Zookeeper作為Dubbo的注冊中心實現。我們前邊所講到的所有內容都交給了Zookeeper

2:當前現狀

? ? ? ? 當前,隨著技術發展,很有優秀的注冊中心涌現出來:Zookeeper、Nacos、Consul、Etcd等等

? ? ? ? 在今天,Dubbo的注冊中心有很多選擇,后續我們的文章當中,Zookeeper、Nacos、Consul這些注冊中心在Dubbo中的使用,我們都會一一進行分析!

? ? ? ? 需要注意的是:上述注冊中心,他們的核心功能大致像是,但是他們的實現過程是有底層性差異的,但是總體差異不大!

三:DubboAdmin介紹

1:DubboAdmin簡介

????????Dubbo Admin是Apache Dubbo服務治理和管理系統的?部分。它主要幫我們管理的是服務相關的內容。

????????DubboAdmin最為重要的內容:DubboAdmin提供了?套?于服務治理的Web界面,讓我們可以更?便地對Dubbo系統進?管理和監控。

????????新版本的Dubbo Admin是基于VUE、SpringBoot開發的,是一套前后端分離的Web系統。

2:DubboAdmin的主要功能

????????

????????服務管理:Dubbo Admin可以查看所有提供者和消費者的詳細信息,?包括服務地址、方法、參數等。

????????路由規則:Dubbo Admin可以根據需要設置路由規則,將請求導向特定的服務提供者。

????????動態配置:Dubbo Admin可以動態地改變服務的配置,包括負載均衡策略、容錯策略等。

????????權限控制:Dubbo Admin?持對訪問進行權限控制,只有獲得授權的用戶才能訪問特定的服務。

????????監控和統計:Dubbo Admin可以收集并展示服務的運行數據,包括調用次數、響應時間等。

????????綜上所述:開發者通過Dubbo Admin可以更?便地進?服務治理和管理,提高服務的可?性和可維護性。

????????

????????注意:我們本次課程學習的是,是DubboAdmin的最新版本:0.5.0

? ? ? ? 添加微信:DaShuDeveloper 拉你進我們的技術交流群,我們一起討論Dubbo,一起學習Dubbo,一起干翻Dubbo!

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

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

相關文章

10.docker的網絡network-概述

1.docker的網絡模式 docker共有四種網路模式,分別是bridge、host、none和container. 1.1 bridge bridge,也稱為虛擬網橋。在bridge模式下,為每個容器分配、配置IP等,并將容器連接到一個docker0。使用–network bridge命令指定,…

【01】ES6:ECMAScript 介紹

ECMAScript 6.0 (以下簡稱 ES6)是 JavaScript 語言的下一代標準,已經在 2015 年 6 月正式發布。它的目標,是使得 JavaScript 語言可以用來編寫復雜的大型應用程序,成為企業級開發語言。 參考:《ECMAScript…

C# Winform使用log4net記錄日志

寫在前面 Log4Net是從Java的log4j移植過來的,功能也與log4j類似,可以把日志信息輸出到文件、數據庫、控制臺、Windows 事件日志、遠程系統日志服務等不同的介質或目標。 Log4Net配置選項豐富靈活,并且可在運行時動態更新配置并應用&#xf…

解析紫光展銳T820 5G芯片——讓照片接近原色

紫光展銳系統級安全的高性能5G SoC芯片平臺T820,采用八核CPU架構,6nm EUV先進工藝,金融級全內置安全方案,在性能、功耗與5G通信體驗等方面,較上一代產品更為出色。 此前,已經為大家講解過T820的拍照、安全性…

mac跑分工具 Geekbench v6.2.2

Geekbench 6 是一款跨平臺的系統性能測試軟件,可以對處理器和內存等硬件進行評測,并提供了單核和多核兩種測試模式。該軟件適用于 Windows、macOS、Linux 和 iOS 等多種操作系統平臺。 Geekbench 6 測試可以幫助用戶快速準確地了解自己設備的性能表現&am…

【brpc學習實踐五】brpc自適應限流案例

自適應限流 服務的處理能力是有客觀上限的。當請求速度超過服務的處理速度時,服務就會過載。 如果服務持續過載,會導致越來越多的請求積壓,最終所有的請求都必須等待較長時間才能被處理,從而使整個服務處于癱瘓狀態。 與之相對…

PHP中間件實現

目錄 1、簡單中間實現 2、使用閉包函數實現中間件 在PHP中,中間件是一種常用的設計模式,用于處理請求和響應,它可以在請求到達目標處理程序之前或響應發送給客戶端之前執行一些特定的邏輯。中間件提供了一種靈活的方式來修改或擴展應用程序的…

查看當前laravel版本三種方法(筆記二)

1、在終端中使用 Artisan 命令:在 Laravel 項目的根目錄下,打開終端(命令行界面),然后運行以下命令: php artisan --version 2、控制器中打印版本 var_dump(app()->version()); 3、在 Laravel 項目的根目…

【kubernetes】k8s架構之節點

文章目錄 1、集群架構示意圖2、概述3、管理3.1 節點名稱唯一性3.2 節點自注冊3.3 手動節點管理 4、節點狀態4.1 地址(Addresses)4.2 狀況(Condition)4.3 容量(Capacity)與可分配(Allocatable&am…

PTA-輸出三角形面積和周長

本題要求編寫程序,根據輸入的三角形的三條邊a、b、c,計算并輸出面積和周長。注意:在一個三角形中, 任意兩邊之和大于第三邊。三角形面積計算公式:areas(s?a)(s?b)(s?c)?,其中s(abc)/2。 輸入格式&…

某60區塊鏈安全之Call函數簇濫用實戰二學習記錄

區塊鏈安全 文章目錄 區塊鏈安全Call函數簇濫用實戰二實驗目的實驗環境實驗原理實驗內容實驗步驟EXP利用 Call函數簇濫用實戰二 實驗目的 學會使用python3的web3模塊 學會并區分以太坊call、staticcall、delegatecall三種函數調用的特點 找到合約漏洞進行分析并形成利用 實驗…

關于git hooks

Git hooks 是一種在 Git 倉庫中觸發自定義腳本的機制。這些腳本可以在特定的 Git 操作(如提交、推送、合并等)發生時執行。通過使用 Git hooks,你可以在版本控制的不同階段自動運行腳本,以執行一些定制化的操作。 在 Git 中&…

03梯度下降

目錄 lambda基礎知識 代碼 核心算法: lambda基礎知識 lambda 是 Python 中的一個關鍵字,用于創建匿名函數。匿名函數是一種沒有具體名稱的小型、臨時的函數,通常用于一次性的、簡單的操作。lambda 函數的語法如下:python Copy c…

高效運維工具,助力運維服務商為企業用戶提供IT遠程維保服務

一、背景介紹 隨著科技的迅速發展和信息化建設的不斷推進,IT運維在中小企業中的地位逐漸提升。IT運維是指通過技術手段和工具,對企業的IT基礎設施進行監控、管理和維護,以確保企業信息系統的穩定運行和業務的持續發展。 然而,對于…

計算3個點的6種分布在平面上的占比

假設平面的尺寸是6*6,用11的方式構造2,在用21的方式構造3 2 2 2 1 2 2 2 2 2 1 2 2 2 2 2 1 2 2 3 3 3 x 3 3 2 2 2 1 2 2 2 2 2 1 2 2 在平面上有一個點x,11的操作吧平面分成了3部分2a1,2a…

海康Visionmaster-模塊索引:MFC 模塊索引異常解決 辦法

現象:文件編碼格式為 UTF-8 不帶簽名編碼格式,模塊索引會出現 模塊無法找到異常 更改文件類型為 UTF-8 帶簽名格式或 vs 默認 GBK2312 編碼格式

JMeter處理接口簽名sign

寫接口腳本的時候,很多接口涉及到簽名,今天介紹下用JMeter編寫簽名腳本的方法。 舉個例子,開啟紅包接口,請求方式為post POST /v1/api/red/open json請求參數 { "red_id":1, "timestamp":"1667033841…

2023年中國邊緣計算網關現狀及發展趨勢分析[圖]

邊緣計算網關是一種可以在設備上運行本地計算、消息通信、數據緩存等功能的工業智能網關,可以在無需聯網的情況下實現設備的本地聯動以及數據處理分析。邊緣計算網關是一種連接物聯網設備和云端服務的關鍵技術,它可以在設備和云端之間建立一個安全、高效…

實例講解Simulink的MATLAB Function模塊

內容 MATLAB Function是一個支持使用M語言編寫模塊功能,并能夠將所編寫的M語言生成C代碼,用于開發桌面應用和嵌入式應用的模塊。它支持的 MATLAB內建函數比 Fcn模塊要廣泛,除去基本的四則運算、邏輯操作符和關系操作符,還可以調用MATLAB各種…

代碼隨想錄算法訓練營第四十三天【動態規劃part05】 | 1049. 最后一塊石頭的重量 II、494. 目標和、474.一和零

1049. 最后一塊石頭的重量 II 題目鏈接: 力扣(LeetCode)官網 - 全球極客摯愛的技術成長平臺 求解思路: 等于把石頭盡量分成重量相同的兩堆 動規五部曲 確定dp數組及其下標含義:容量為j的背包,最多能裝…