最近中文字幕高清中文字幕无,亚洲欧美高清一区二区三区,一本色道无码道dvd在线观看 ,一个人看的www免费高清中文字幕

全部開(kāi)發(fā)者教程

RabbitMQ 入門(mén)教程

RabbitMQ 簡(jiǎn)介
RabbitMQ 簡(jiǎn)介

RabbitMQ集群配置文件概述

1. 前言

Hello,大家好。通過(guò)之前兩個(gè)小節(jié)的學(xué)習(xí),我們已經(jīng)對(duì) RabbitMQ 中的四大集群模式有了一個(gè)基礎(chǔ)的了解,包括集群模式的概念,以及基本的使用或部署流程等內(nèi)容。但是,對(duì)于 RabbitMQ 集群來(lái)說(shuō),我們只了解了這些基礎(chǔ)內(nèi)容顯然是不夠的,還需要我們來(lái)進(jìn)一步了解集群的配置文件。

在本小節(jié)中,我們會(huì)對(duì) RabbitMQ 集群配置文件中的一些基礎(chǔ)的集群配置屬性,以及配置 RabbitMQ 集群需要用到的一些基礎(chǔ)命令做一些基礎(chǔ)性的介紹,同學(xué)們現(xiàn)階段只需要了解這些基礎(chǔ)的集群配置文件中的屬性即可。

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

  • RabbitMQ 基礎(chǔ)集群屬性概述;

  • RabbitMQ 集群基礎(chǔ)命令概述。

2. RabbitMQ 基礎(chǔ)集群屬性概述

2.1 RabbitMQ 配置文件

通過(guò)上述兩個(gè)小節(jié)的學(xué)習(xí),我們都知道了,在 RabbitMQ 中存在著四種主流的集群模式,我們可以根據(jù)不同的業(yè)務(wù)場(chǎng)景去設(shè)置以及使用不同的集群模式,這完全取決于我們自己。

對(duì)于不同地 RabbitMQ 集群搭建模式來(lái)說(shuō),RabbitMQ 官網(wǎng)為我們提供了不同地集群配置文件,這些集群配置文件可以幫助我們更好地來(lái)對(duì)具體的集群場(chǎng)景進(jìn)行搭建和控制,但是這些特定的集群文件中的配置屬性對(duì)我們同學(xué)來(lái)說(shuō)有點(diǎn)太過(guò)陌生了,所以,本節(jié)不會(huì)對(duì)這些特定的集群配置文件中的集群配置屬性進(jìn)行介紹,有興趣的同學(xué)課下可以自行查閱資料了解。

在本套課程中,我們使用的 RabbitMQ 為 3.8.X 版本,在這一系列版本中,在我們安裝好 RabbitMQ 之后,RabbitMQ 并不會(huì)自帶一個(gè) RabbitMQ 的配置文件,需要我們手動(dòng)進(jìn)行創(chuàng)建并聲明,我們可以前往 RabbitMQ 的 Github 中去獲取名為 rabbitmq.conf.example 的配置文件。

在獲取到名為 rabbitmq.conf.example 的配置文件之后,我們需要去除 .example 后綴,使文件名為 rabbitmq.conf ,這個(gè)文件就是我們真正地 RabbitMQ 的配置文件了。

而無(wú)論我們配置四種集群搭建模式中的哪一種集群搭建方式,我們都會(huì)對(duì) rabbitmq.conf 文件進(jìn)行配置,只有對(duì)rabbitmq.conf 文件配置好之后,我們最后才會(huì)對(duì)特定的集群配置文件進(jìn)行配置,這個(gè)順序不要搞反了。

rabbitmq.conf 配置文件中不僅僅只有對(duì) RabbitMQ 集群搭建模式的配置屬性,還有一些對(duì) RabbitMQ 的基礎(chǔ)內(nèi)容進(jìn)行配置的一些配置屬性,總之,rabbitmq.conf 配置文件基本上涵蓋了在 RabbitMQ 中所有你可以看到的配置內(nèi)容,所以這個(gè)配置文件會(huì)很長(zhǎng),基本上我們要想對(duì) RabbitMQ 進(jìn)行一些配置,就必須要用到這個(gè)文件。

下面就讓我們來(lái)看一下在 rabbitmq.conf 配置文件中都有哪些基礎(chǔ)的集群配置屬性吧。

2.2 RabbitMQ 集群基礎(chǔ)配置屬性

在 rabbitmq.conf 配置文件中,集群的配置屬性所在的位置并不是固定的一塊區(qū)域,而是分散開(kāi)的,同學(xué)們可以直接在 rabbitmq.conf 配置文件中通過(guò)配置屬性關(guān)鍵詞來(lái)進(jìn)行搜索。

listeners.tcp.default 屬性

該屬性屬于 listeners 系列參數(shù)下,主要作用就是設(shè)置不同 RabbitMQ 節(jié)點(diǎn)的默認(rèn)服務(wù)端口,通過(guò) tcp.default 的形式來(lái)聲明,此屬性的默認(rèn)值為 5672 ,即集群節(jié)點(diǎn)的默認(rèn)服務(wù)端口是 5672 端口。

cluster_name 屬性

該屬性屬于 cluster 系列參數(shù)下,主要作用就是設(shè)置不同 RabbitMQ 節(jié)點(diǎn)的節(jié)點(diǎn)名稱,該屬性的默認(rèn)值是 RabbitMQ 自動(dòng)生成的,但是在不同的 RabbitMQ 版本中,該屬性也會(huì)出現(xiàn)空值的現(xiàn)象,這也是正常的一種現(xiàn)象,如果需要配置集群的時(shí)候,我們?cè)賹iT(mén)去指定就好了。

cluster_keepalive_interval 屬性

該屬性屬于 cluster 系列參數(shù)下,主要作用就是通過(guò)集成 KeepAlive 組件,來(lái)對(duì)不同 RabbitMQ 節(jié)點(diǎn)間的一個(gè)檢測(cè)時(shí)間進(jìn)行約束,即檢測(cè)不同 RabbitMQ 節(jié)點(diǎn)間是否正常通信的間隔時(shí)間,該屬性的默認(rèn)值為 10000 毫秒,我們可以根據(jù)實(shí)際情況進(jìn)行制定。

disk_free_limit 屬性

該屬性屬于 disk 系列參數(shù)下,其主要作用就是設(shè)置不同的 RabbitMQ 節(jié)點(diǎn)的硬盤(pán)最低存儲(chǔ)閾值,若我們的硬盤(pán)容量小于這一閾值,則該節(jié)點(diǎn)的 RabbitMQ Server 就不會(huì)再存儲(chǔ)消息了,該屬性的默認(rèn)值為硬盤(pán)總量的 10% 。

vm_memory_high_watermark 屬性

該屬性屬于 vm_memory 系列參數(shù)下,其主要作用就是設(shè)置不同的 RabbitMQ 節(jié)點(diǎn)所在服務(wù)器的內(nèi)存的一個(gè)最低存儲(chǔ)閾值,若該節(jié)點(diǎn)所在服務(wù)器的內(nèi)存小于這一閾值,則該節(jié)點(diǎn)的 RabbitMQ Server 會(huì)自動(dòng)開(kāi)啟接收消息的頻率控制,防止出現(xiàn)內(nèi)存溢出異常。

一般配置該屬性時(shí),我們會(huì)經(jīng)常用到 vm_memory_high_watermark.relative 這一關(guān)鍵屬性,來(lái)聲明這一閾值,該屬性的默認(rèn)值為 0.4 ,即 RabbitMQ 節(jié)點(diǎn)所在服務(wù)器內(nèi)存的 40% 。

3. RabbitMQ 集群基礎(chǔ)命令概述

在介紹完基礎(chǔ)的集群配置屬性之后,讓我們最后來(lái)看一些配置 RabbitMQ 集群需要用到的一些基礎(chǔ)命令。

rabbitmqctl status 命令

該命令用于查看 RabbitMQ 節(jié)點(diǎn)的運(yùn)行狀態(tài),運(yùn)行該命令之后,RabbitMQ 會(huì)返回給我們一個(gè)比較長(zhǎng)的信息,我們可以通過(guò)觀察這些信息,來(lái)推測(cè)我們的 RabbitMQ 節(jié)點(diǎn)是否在正常運(yùn)行。

rabbitmq-plugins enable rabbitmq_management 命令

該命令較長(zhǎng),其主要作用就是開(kāi)啟 RabbitMQ 自帶的插件管理功能,即開(kāi)啟 rabbitmq_management 插件,來(lái)管理在不同的集群搭建模式中,需要用到的一些插件。

rabbitmq-server -detached 命令

該命令用于以集群的方式,來(lái)啟動(dòng)我們的 RabbitMQ Server ,我們需要分別在不同的 RabbitMQ Server 節(jié)點(diǎn)中運(yùn)行該命令,以將所有的 RabbitMQ Server 全部進(jìn)行啟動(dòng)。

rabbitmqctl stop_app 命令

該命令用于停止當(dāng)前的 RabbitMQ 節(jié)點(diǎn),在配置集群加入時(shí),我們應(yīng)該首先執(zhí)行該命令,為后續(xù)集群的加入做準(zhǔn)備。

這個(gè)命令通常會(huì)配合 rabbitmqctl reset 命令一起使用,reset 命令表示重置該 RabbitMQ 節(jié)點(diǎn)的運(yùn)行狀態(tài)。

rabbitmqctl join_cluster rabbit@node-1 命令

該命令用于加入 RabbitMQ 節(jié)點(diǎn),其中,rabbit@node-1 表示當(dāng)前 RabbitMQ 節(jié)點(diǎn)需要加入的目標(biāo)節(jié)點(diǎn)的節(jié)點(diǎn)名稱,我們需要分別在所有的 RabbitMQ 節(jié)點(diǎn)中來(lái)配置不同的節(jié)點(diǎn)都要互相加入,執(zhí)行該命令的前提是我們已經(jīng)執(zhí)行了 stop_app 和 reset 命令。

rabbitmqctl start_app 命令

該命令的作用與 stop_app 命令正好相反,我們?cè)诩尤牒貌煌?RabbitMQ 節(jié)點(diǎn)之后,就可以執(zhí)行該命令了。

Tips: 配置 RabbitMQ 集群的先后順序就是上述介紹基礎(chǔ)命令的順序,在配置集群時(shí),集群配置順序一定不能亂,如果有一步是亂的,那么集群都不會(huì)被配置成功,這點(diǎn)同學(xué)們要注意。

4. 小結(jié)

本小節(jié)為同學(xué)們?cè)敿?xì)介紹了 RabbitMQ 中的配置文件-rabbitmq.conf ,并且介紹了該配置文件中的屬性組成,以及一些基礎(chǔ)的 RabbitMQ 集群配置屬性,最后,考慮到配置集群的完整性,又對(duì)配置 RabbitMQ 集群所需的基礎(chǔ)配置命令做了相應(yīng)的介紹。