第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

全部開發(fā)者教程

RabbitMQ 入門教程

RabbitMQ 簡(jiǎn)介
RabbitMQ 簡(jiǎn)介
首頁(yè) 慕課教程 RabbitMQ 入門教程 RabbitMQ 入門教程 RabbitMQ 消息監(jiān)控平臺(tái)介紹

RabbitMQ 消息監(jiān)控平臺(tái)介紹

1. 前言

Hello,大家好。本節(jié)會(huì)為同學(xué)們介紹 RabbitMQ 的消息監(jiān)控平臺(tái),包括 RabbitMQ 消息監(jiān)控平臺(tái)的訪問方法,以及 RabbitMQ 消息監(jiān)控平臺(tái)的組成元素。了解 RabbitMQ 消息監(jiān)控平臺(tái)的使用方式,是我們后期對(duì) RabbitMQ 進(jìn)行監(jiān)控的不二法則。

本節(jié)主要內(nèi)容:

  • 如何訪問 RabbitMQ 消息監(jiān)控平臺(tái);

  • RabbitMQ 消息監(jiān)控平臺(tái)組成元素介紹;

2. 如何訪問 RabbitMQ 消息監(jiān)控平臺(tái) ?

什么是 RabbitMQ 消息監(jiān)控平臺(tái)

RabbitMQ 消息監(jiān)控平臺(tái),即用來監(jiān)控 RabbitMQ 中所有的消息所處的狀態(tài),以及當(dāng)前 RabbitMQ Server 的狀態(tài)的一個(gè)網(wǎng)絡(luò)平臺(tái),為 RabbitMQ 內(nèi)嵌的自我監(jiān)控平臺(tái),在安裝好了 RabbitMQ 之后就可以通過特定的路徑來訪問這一消息監(jiān)控平臺(tái)。

出于方便考慮,后續(xù)我們都將 RabbitMQ 消息監(jiān)控平臺(tái),稱為 RabbitMQ 消息管控臺(tái)。

在 RabbitMQ 消息管控臺(tái)中,可以對(duì)我們應(yīng)用程序中,所有的消息進(jìn)行監(jiān)控,包括消息是否已經(jīng)被發(fā)送、消息是否已經(jīng)被接收,以及 RabbitMQ Server 中,交換機(jī)、頻道、消息隊(duì)列的狀態(tài)等,經(jīng)過對(duì)這些關(guān)鍵指標(biāo)進(jìn)行監(jiān)控,我們可以很好地掌握我們應(yīng)用程序中的消息在 RabbitMQ Server 中的狀態(tài),以及我們的 RabbitMQ Server 節(jié)點(diǎn)工作是否正常等關(guān)鍵性能指標(biāo)。

如何訪問 RabbitMQ 消息監(jiān)控平臺(tái) ?

在介紹如何安裝 RabbitMQ 小節(jié)內(nèi)容中,已經(jīng)為大家介紹了如何來驗(yàn)證我們的 RabbitMQ 是否已經(jīng)安裝成功了,而這一驗(yàn)證手段正是我們?cè)L問 RabbitMQ 消息監(jiān)控平臺(tái)的方法,這里我們來簡(jiǎn)單回顧一下。

在將 RabbitMQ 安裝成功之后,需要我們啟動(dòng) RabbitMQ Server 服務(wù),該服務(wù)會(huì)占用我們的 5672 端口,然后對(duì)外暴露 15672 端口,來供我們?cè)L問,所以,要想訪問 RabbitMQ 消息管控臺(tái),我們只需要輸入 RabbitMQ Server 所在節(jié)點(diǎn)的 ip 地址,以及 15672 端口的組合方式就可以了。以本地為例,訪問 RabbitMQ 消息管控臺(tái)的地址如下:

http://localhost:15672

3. RabbitMQ 消息監(jiān)控平臺(tái)組成元素介紹

輸入上述訪問地址之后,我們會(huì)首先看到 RabbitMQ 消息管控臺(tái)的登錄界面,如下圖所示:

默認(rèn)的 RabbitMQ 消息管控臺(tái)的賬號(hào)和密碼均為 guest ,同時(shí),這個(gè) guest 賬號(hào)還具有最高的 Administrator 管理權(quán)限,可以對(duì) RabbitMQ 中的消息、交換機(jī)、頻道、消息隊(duì)列等進(jìn)行相應(yīng)的管理。

現(xiàn)在,讓我們用 guest 用戶登錄進(jìn)去(當(dāng)然我們也可以用自定義賬號(hào)來登錄),來對(duì) RabbitMQ 消息管控臺(tái)一探究竟吧。

登錄進(jìn)去后的 RabbitMQ 消息管控臺(tái)首頁(yè),如下圖所示:

接下來,我將根據(jù)不同的功能模塊,把 RabbitMQ 消息管控臺(tái)分為幾個(gè)區(qū)域,然后依次將不同區(qū)域中的主要內(nèi)容介紹給大家,下面我們來看一下 RabbitMQ 消息管控臺(tái)的區(qū)域圖:

3.1 頂部模塊

在上述區(qū)域圖中,我們會(huì)看到明顯的標(biāo)有 1 2 3 序號(hào)的模塊區(qū)域,這些就是 RabbitMQ 消息管控臺(tái)的主要功能模塊。在本部分中,我們先來看除了這些主要功能模塊之外的地方,也就是 RabbitMQ 消息管控臺(tái)的頂部模塊,如下圖所示:

在頂部模塊的第一部分,也就是標(biāo)序號(hào) 1 框起來的區(qū)域,這是 RabbitMQ 當(dāng)前狀態(tài)信息,包括 RabbitMQ 的 logo ,以及 RabbitMQ 的版本、Erlang 語言支持庫(kù)的版本,由上圖可以:當(dāng)前使用的 RabbitMQ 的版本為 3.8.5 ,當(dāng)前使用的 Erlang 語言支持庫(kù)的版本為 23.2.1 。

在頂部模塊的第二部分,也就是標(biāo)序號(hào) 2 框起來的區(qū)域,這是當(dāng)前 RabbitMQ 消息管控臺(tái)的底部配置區(qū)域,其中,Refreshed 表示當(dāng)前 RabbitMQ 消息管控臺(tái)監(jiān)控的頻率,默認(rèn)的監(jiān)控頻率為每 5 秒刷新一次消息管控臺(tái),當(dāng)然,我們可以根據(jù)實(shí)際情況來設(shè)置不同的刷新頻率,如下圖所示:

接著,Virtual host 表示當(dāng)前被監(jiān)控的虛擬主機(jī),默認(rèn)監(jiān)控全部的虛擬主機(jī),當(dāng)然,我們也可以選擇需要進(jìn)行監(jiān)控的虛擬主機(jī),如下圖所示:

最后的 Cluster 則表示當(dāng)前 RabbitMQ Server 所在的節(jié)點(diǎn)名稱,User 則表示當(dāng)前登錄進(jìn) RabbitMQ 消息管控臺(tái)的用戶,當(dāng)前我是使用的自定義的 steafan 賬號(hào)來登錄的。

在用戶名的右側(cè),是 Log Out 按鈕,即登出按鈕,當(dāng)我們點(diǎn)擊此按鈕之后,我們就會(huì)推出 RabbitMQ 消息管控臺(tái),來到其登錄界面。

3.2 Overview 模塊

Overview 模塊是 RabbitMQ 消息管控臺(tái)的總體概覽模塊,在本模塊中,會(huì)看到當(dāng)前 Connection 、Channel 、Queue 的狀態(tài),Overview 模塊分為六部分,如下圖所示:

接下來讓我們先來看 Totals 和 Nodes 部分內(nèi)容:

在 Totals 部分中,是一些監(jiān)控的曲線,其中,Queued messages 表示消息隊(duì)列的狀態(tài);Currently idle Message rates 表示當(dāng)前監(jiān)控頻率下,消息的速率,單位為秒;Global counts 則表示當(dāng)前 RabbitMQ Server 中各組成元素的個(gè)數(shù),它們分別是 Connections、 Channels、 Exchanges、 Queues、 Consumers ,默認(rèn)的 Exchanges 數(shù)量為 7 個(gè)。

在 Currently idle Message rates 部分,分別設(shè)置了 Publish、Publisher Confirm、Unroutable(return)、Unroutable(drop) 這些關(guān)鍵的屬性指標(biāo),其中 Publish 表示已發(fā)送的消息;Publisher Confirm 表示已經(jīng)發(fā)布確認(rèn)了的消息;Unroutable(return) 表示消息未被接收,且已返回重新發(fā)送的消息;Unroutable(drop) 表示消息未被接收,且已經(jīng)刪除了的消息。

Nodes 部分則是表示 RabbitMQ Server 所在的當(dāng)前節(jié)點(diǎn)與 RabbitMQ Server 相關(guān)的性能指標(biāo),這里有幾個(gè)重要的性能指標(biāo),我們來看一下。

Name ,即當(dāng)前 RabbitMQ Server 所在節(jié)點(diǎn)的節(jié)點(diǎn)名稱。

Erlang processes ,即當(dāng)前所在節(jié)點(diǎn)中,Erlang 語言支持庫(kù)的線程數(shù)量。

Memory ,即當(dāng)前所在節(jié)點(diǎn)中 RabbitMQ Server 所占的內(nèi)存容量,單位為 MB 。

Disk space ,即當(dāng)前所在節(jié)點(diǎn)的磁盤容量大小,單位為 GB 。

Uptime ,即當(dāng)前節(jié)點(diǎn)中 RabbitMQ Server 服務(wù)的運(yùn)行時(shí)長(zhǎng)。

接著,讓我們來看一下 Churn statistics 部分內(nèi)容:

該部分有三個(gè)圖標(biāo),由上到下分別表示 Connection 、Channel 、Queue 的狀態(tài)曲線,而這些狀態(tài)缺陷只是用來描述已經(jīng)創(chuàng)建的和已經(jīng)關(guān)閉的 Connection 、Channel 、Queue 的數(shù)量。

最后,讓我們來看剩余的最后三部分內(nèi)容,他們分別是 Ports and contexts 、Export Definitions 、Import Definitions ,如下圖所示:

在 Ports and contexts 部分,有 Listening ports 和 Web contexts 部分組成,在 Listening ports 中,展示了當(dāng)前存在的協(xié)議名稱,以及協(xié)議所綁定的端口號(hào);在 Web contexts 中,就是我們的 RabbitMQ 消息管控臺(tái)的名稱(Context),以及綁定的地址(Bound to)、端口(Port)和路徑信息(Path)了。

在 Export Definitions 、Import Definitions 部分,分別表示將當(dāng)前消息管控臺(tái)的監(jiān)控?cái)?shù)據(jù)進(jìn)行導(dǎo)出和導(dǎo)入,導(dǎo)出監(jiān)控?cái)?shù)據(jù)是通過下載完成,也就是 Download broker definitions ;導(dǎo)入監(jiān)控?cái)?shù)據(jù)是通過上傳文件完成,也就是 Upload broker definitions 。

Tips: Overview 模塊是在實(shí)際工作中,使用最頻繁的模塊,所以需要各位同學(xué)要徹底搞清楚 Overview 模塊中,每個(gè)關(guān)鍵屬性所表達(dá)的含義,這樣我們才能更清楚地讀懂 RabbitMQ 的監(jiān)控信息。

3.3 Connections 模塊

Connections 模塊是專門用來對(duì)連接到 RabbitMQ Server 中的 Connection 進(jìn)行監(jiān)控的模塊,該模塊內(nèi)容如下圖所示:

在 Connections 模塊中,只有一個(gè) All Connections 部分,在該部分中,只有一個(gè) Pagination 分頁(yè)區(qū)域,該區(qū)域展示當(dāng)前節(jié)點(diǎn)中,所有已經(jīng)和 RabbitMQ Server 成功建立連接的連接信息,當(dāng)然,我們可以通過在 Filter 對(duì)應(yīng)的輸入框中輸入關(guān)鍵詞來進(jìn)行過濾搜索,很顯然,目前還沒有任何連接。

3.4 Channels 模塊

Channels 模塊是專門用來對(duì) RabbitMQ Server 中的 Channel 進(jìn)行監(jiān)控的模塊,該模塊內(nèi)容如下圖所示:

和 Connections 模塊一樣,只有一個(gè) All Channels 部分,這里就不再贅述了。

3.5 Exchanges 模塊

Exchanges 模塊是專門用來對(duì) RabbitMQ Server 中的 Exchange 進(jìn)行監(jiān)控的模塊,該模塊分為 All Exchanges 部分和 Add a new exchange 部分,讓我們先來看 All Exchanges 部分,如下圖所示:

除了 Pagination 分頁(yè)顯示之外,還有一個(gè) RabbitMQ 為我們提供的表格,在該表格中,列出了交換機(jī)的名稱(Name)、類型(Type)、特征(Features)、信息流入速率(Message rate in)、信息流出速率(Message rate out),這些表格中列出的就是 RabbitMQ Server 中自帶的交換機(jī)。

除了自帶的交換機(jī),我們也可以自定義我們需要的交換機(jī),自定義交換機(jī)通過 Add a new exchange 部分來實(shí)現(xiàn),Add a new exchange 部分如下圖所示:

在新建自定義交換機(jī)時(shí),需要我們輸入自定義交換機(jī)的名稱、選擇類型、間隔類型、是否自動(dòng)刪除、是否只內(nèi)部使用、匹配的表達(dá)式信息,其中,交換機(jī)的類型只能選擇 RabbitMQ 中所規(guī)定的類型,這些類型在前面小節(jié)中已經(jīng)做了介紹, 如下圖所示:

3.6 Queues 模塊

Queues 模塊是專門用來對(duì) RabbitMQ Server 中的 Queue 進(jìn)行監(jiān)控的模塊,該模塊內(nèi)容與 Exchanges 模塊內(nèi)容相似,也分為 Pagination 部分與 Add a new queue 部分,如下圖所示:

該模塊的操作和 Exchanges 模塊的操作是完全一樣的,這里就不再贅述了。

3.7 Admin 模塊

Admin 模塊是對(duì) RabbitMQ 根配置進(jìn)行管理的模塊,該模塊內(nèi)容眾多,我們只需要了解常用的基礎(chǔ)部分即可, 常用基礎(chǔ)部分如下圖所示:

Admin 模塊的常用基礎(chǔ)部分我都用紅色框扛起來了,目前,我們只需要了解這些內(nèi)容即可。

先來看 Users 部分,如下圖所示:

Users 部分同樣分為 All users 和 Add a user 區(qū)域,在 All users 區(qū)域中有一個(gè)表格,這個(gè)表格列出了當(dāng)前 RabbitMQ Server 中已經(jīng)存在的用戶的用戶名稱(Name)、用戶權(quán)限(Tags)、訪問虛擬主機(jī)的權(quán)限(Can access Virtual hosts)、是否設(shè)置密碼(Has password)。

在 Add a user 區(qū)域,要想新建一個(gè)用戶,需要我們輸入用戶名、密碼、以及用戶權(quán)限,在輸入完成后,點(diǎn)擊 Add user 按鈕即可完成新建用戶的操作。

接下來看 Virtual Hosts 部分,如下圖所示:

Virtual Hosts 部分同樣分為了 All Virtual Hosts 和 Add a new virtual host 區(qū)域,在 All Virtual Hosts 的表格中,我們只需要關(guān)注這些性能指標(biāo):

虛擬主機(jī)的名稱(overview.name)、虛擬主機(jī)中的用戶(overview.users)、虛擬主機(jī)的狀態(tài)(overview.state)、虛擬主機(jī)中準(zhǔn)備發(fā)送的消息的數(shù)量(messages.ready)、虛擬主機(jī)中未確認(rèn)消息的數(shù)量(messages.unacked)、虛擬主機(jī)中所有消息的數(shù)量(messages.total)。

在新建虛擬主機(jī)時(shí),要求我們輸入虛擬主機(jī)的名稱、描述,以及標(biāo)簽,其中,虛擬主機(jī)的名稱是必填的,其他屬性隨意。

最后我們來看 Cluster 部分,如下圖所示:

在 Cluster 部分中,目前只支持修改當(dāng)前節(jié)點(diǎn)的節(jié)點(diǎn)名稱,還不支持對(duì)節(jié)點(diǎn)其他配置屬性的設(shè)置,這點(diǎn)同學(xué)們知道一下就行。我們可以在該部分對(duì) RabbitMQ Server 當(dāng)前所在的節(jié)點(diǎn)名稱進(jìn)行修改,以適應(yīng)我們的業(yè)務(wù)需要,這在實(shí)際工作種是非常有必要的。

以上就是對(duì) RabbitMQ 消息管控臺(tái)常用基礎(chǔ)部分的所有介紹,對(duì)于其他部分的內(nèi)容,同學(xué)們可以課下了解,拓展知識(shí)面。

4. 小結(jié)

本小節(jié)通過圖文并茂的方式,為各位同學(xué)介紹了什么是 RabbitMQ 的消息管控臺(tái)、如何訪問 RabbitMQ 消息管控臺(tái),以及 RabbitMQ 消息管控臺(tái)的基本組成元素,對(duì)于常用的基礎(chǔ)組成元素,結(jié)合圖文,做了詳細(xì)的介紹和剖析,旨在幫助各位同學(xué)可以對(duì) RabbitMQ 有一個(gè)系統(tǒng)性的認(rèn)知,這樣,我們?cè)趹?yīng)用 RabbitMQ 處理消息時(shí),才能做好監(jiān)控與性能調(diào)優(yōu)。