亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

全部開發者教程

RabbitMQ 入門教程

RabbitMQ 簡介
RabbitMQ 簡介
首頁 慕課教程 RabbitMQ 入門教程 RabbitMQ 入門教程 RabbitMQ集成KeepAlived組件實操

RabbitMQ集群集成KeepAlived組件實操

1. 前言

Hello,大家好。通過上述幾個小節的介紹,我們已經對如何使用 RabbitMQ 去優化常見的傳統功能已經有了一個大概的思路,但是,我們只了解這些內容是遠遠不夠的。

不知道同學們還記不記得 KeepAlived 組件,他是幫助搭建 RabbitMQ 集群的工具組件,在前面的小節中,我們只是對 KeepAlived 組件的基礎定義和基礎屬性做了介紹,并沒有實際去操作它。

本小節會為同學們介紹,如何在 RabbitMQ 集群中,去集成我們 KeepAlived 組件,包括將 KeepAlived 組件集成到 RabbitMQ 集群中的集成步驟等內容,學習本節內容的前提是,同學們已經對 RabbitMQ 集群有了初步的認識。

本節主要內容:

  • KeepAlived 基礎概念回顧;

  • 集成 KeepAlived 組件步驟概述。

2.KeepAlived 基礎內容回顧

2.1 KeepAlived 基礎概念回顧

在 KeepAlived 組件基礎屬性介紹這一小節中,我們采用人們在生活中的狀態為例,為各位同學介紹了 KeepAlived 組件的基礎概念。

KeepAlived 由 Keep 和 Alived 兩個單詞組成,Keep 翻譯過來具有保持的含義,而 Alived 翻譯過來具有或者的含義,我們把這兩個含義組合起來,就是保持活著的意思。

在 KeepAlived 中,這一’活著’的狀態指的就是計算機服務集群中的,一種可以持續提供服務狀態的一種保障狀態,當我們在集群中配置了 KeepAlived 時,我們就可以將我們的集群服務狀態稱之為‘活著’。

從專業角度來講,KeepAlived 組件其實就是一種可以提供計算機服務集群間的服務狀態不間斷運行的一種輔助軟件,或者叫做工具組件。 通過在集群中引入 KeepAlived 組件,再結合一定的配置,可以保證集群持續穩定的對外提供服務,不受外界環境的影響。(特殊因素除外)。

KeepAlived 組件本身還提供了一些其他的功能,比如,對不同集群間的服務狀態的監控,對不同集群間的服務狀態的一個心跳檢測機制,提供對集群服務負載均衡的支持等功能,我們可以根據實際需要,去整合 KeepAlived 組件與集群。

2.2 KeepAlived 基礎屬性回顧

我們在 KeepAlived 組件基礎屬性介紹小節中,我們對 KeepAlived 組件常用的幾個基礎屬性做了詳細介紹,這些基礎屬性是:router_id 屬性、interval 屬性、state 屬性、interface 屬性、virtual_router_id 屬性,以及 virtual ipaddress 配置項。

我們簡單來回顧一下這些基礎配置屬性的作用。

router_id 屬性,主要作用是用來聲明我們當前 RabbitMQ 集群節點的名稱,這個名稱我們可以自由指定,該屬性的默認值是我們的 hostname ,也就是當前集群節點的主機名稱。

interval 屬性,主要用來對集群的運行狀態進行檢測的一個時間間隔,默認值為兩秒。

state 屬性,主要作用是用來聲明集群當前節點的節點模式,共有主節點和從節點兩種模式。

interface 屬性,其主要作用是用來聲明當前節點所在服務器的網卡的名稱,這一配置是 KeepAlived 組件要求必須要配置的屬性,其沒有默認值。

virtual_router_id 屬性,其主要作用是用來聲明當前節點虛擬路由的 id 號。

virtual ipaddress 配置項,該配置項的主要作用就是定義我們集群對外暴露的虛擬的 ip 地址。

在對 KeepAlived 組件的基礎內容作了簡單回顧之后,下面讓我們來看一下如何將 KeepAlived 組件集成到我們的 RabbitMQ 集群中去。

Tips: 我們對 KeepAlived 的部分基礎內容作了簡單的回顧,如果有不清楚的同學,可以返回到《KeepAlived組件基礎屬性介紹》小節中復習。

3 集成 KeepAlived 組件步驟概述

在本套課程中,我們已經將 RabbitMQ 中幾乎所有的集群模式都進行了基礎地了解,所以,在將 KeepAlived 組件集成到 RabbitMQ 集群中之前,假定同學們已經在自己的機器上,已經搭建好了任意一種模式的 RabbitMQ 集群, 如果沒有完成任意一種模式 RabbitMQ 集群的搭建,那么是不能繼續將 KeepAlived 組件集成到集群中去的。

對于任意一種 RabbitMQ 集群模式而言,RabbitMQ 官方都為我們的集群搭建過程提供了很好地支持,同時,也為 KeepAlived 組件的集成提供了清晰地集成步驟,下面就讓我們看一下如何將 KeepAlived 組件集成到我們的 RabbitMQ 集群中吧。

在下述集成 KeepAlived 組件過程中,我們默認采用 Linux 服務器的 CentOS 7 版本,同學們注意。

第一步 安裝 KeepAlived 組件

在集成 KeepAlived 組件之前,我們需要在自己的機器上下載并安裝 KeepAlived 組件,可以通過以下命令實現:

wget http://www.keepalived.org/software/keepalived-1.2.18.tar.gz

下載完成之后,我們會得到一個壓縮包,接著,我們需要將該壓縮包進行解壓,解壓命令如下:

tar -zxvf keepalived-1.2.18.tar.gz

接著,我們需要安裝 KeepAlived 組件,安裝命令如下:

// 進入到 KeepAlived 安裝目錄下
cd keepalived-1.2.18/ && ./configure
// 編譯并安裝 KeepAlived
make && make install

經過上述安裝命令之后,如果沒有提示任何錯誤,則表明 KeepAlived 組件已經安裝成功了。

Tips: 如果在安裝 KeepAlived 過程中,提示缺少安全套件,無法進行安裝,那就表明我們缺少 ssl 安全協議,我們只需要將這個安全協議安裝上去就可以了: yum install -y openssl openssl-devel

第二步 配置 KeepAlived 組件

在安裝完成 KeepAlived 組件之后,我們需要對 KeepAlived 組件進行 RabbitMQ 集群相關的配置,這個配置文件默認在以下路徑:

/etc/keepalived/keepalived.conf

如果你的路徑下沒有這個配置文件,那就只能自己創建一個同名的配置文件了。

keepalived.conf 配置文件中的配置較多,由于篇幅原因,這里不再一一介紹,同學們可以在對之前介紹的基礎屬性有所了解之后,從 KeepAlived 官方下載一個完整的配置文件即可。

在將官方的配置文件下載好之后,根據官方注釋,將配置文件中與 RabbitMQ 集群相關的屬性的值,全部修改為自己機器的真實數據就行了。

Tips: keepalived.conf 這個配置文件,需要我們部署到所有的 RabbitMQ 集群節點中,并通過這個配置文件,來聲明哪一個幾點是集群主節點,哪些節點是集群的從節點。

第三步 啟動 KeepAlived 組件

在將所有 RabbitMQ 集群節點的 KeepAlived 組件全部配置好之后,最后,我們就需要啟動 KeepAlived 組件,啟動命令如下所示:

service keepalived start

輸入上述命令之后,我們需要查看 KeepAlived 組件的啟動狀態,查看命令如下:

ps -ef | grep keepalived

執行上述命令之后,如果可以看到 KeepAlived 組件的線程信息,說明 KeepAlived 組件已經成功啟動,且已經對 RabbitMQ 集群開始了監聽。

我們可以通過設置的虛擬 IP 地址來訪問我們的 RabbitMQ 集群,以測試 RabbitMQ 的可用性。

Tips: 在啟動 KeepAlived 組件之前,我們需要先確保 HaProxy 組件服務處于運行狀態,因為他們兩個組件是互相依賴的,這一點在下一小節中會做介紹。

4. 小結

本小節為同學們介紹了 KeepAlived 整合 RabbitMQ 集群的相關內容,包括 KeepAlived 組件基礎內容的回顧、KeepAlived 組件的安裝與配置,以及 KeepAlived 組件服務的啟動。本小節所介紹的整合內容均為基礎整合內容,考慮到本門課程的定位,太難理解的內容并沒有為大家介紹,如有興趣,同學們可以私下查閱資料了解。