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

全部開發者教程

RabbitMQ 入門教程

RabbitMQ 簡介
RabbitMQ 簡介

HaProxy組件基礎屬性介紹

1. 前言

Hello,大家好。通過上一小節的學習,我們已經對 KeepAlived 組件有了一個基礎的了解,KeepAlived 組件并不是單獨來使用的,它需要搭配 HaProxy 組件才行。

本小節會介紹一些 HaProxy 組件的基礎內容,例如,什么是 HaProxy 、HaProxy 的適用范圍、為什么要使用 HaProxy 等內容,在學完本小節內容之后,我們就可以自主搭建一套完整的高可用的 RabbitMQ 集群了。

本節主要內容:

  • HaProxy 組件基礎概念概述。

2.HaProxy 組件基礎概念概述

2.1 什么是 HaProxy 組件?

什么是 HaProxy 組件呢?我們可以像理解 KeepAlived 組件那樣,去理解 HaProxy 組件。HaProxy 這一名詞和 KeepAlived 名詞一樣,也是一個組合詞,我們拆開來看,Ha 其實是 High Availability 簡稱,取的是兩個單詞的首字符,即 HA ,中文含義就是我們常說的高可用。

而 proxy 就比較簡單了,proxy 翻譯過來具有代理的含義,代理我們可以理解為我們平常生活中的第三方辦事機構,就是我們自己的事情交給第三方去做,等第三方完成我們交代的任務后,會給我們一個通知,HaProxy 中的 proxy 就是這個意思。

在清楚了 HaProxy 各組成名詞之后,我們就不難理解到底什么是 HaProxy 了。HaProxy 翻譯過來其實指的就是一種高可用的代理工具,或者可以叫做一種軟件。

即 HaProxy 就是一種為集群提供高可用支持與服務的,一種高可用代理工具,其可以管理集群間的通信方式,可以對集群進行健康檢查,甚至也可以對集群進行全方位的監控,說白了,HaProxy 就是一種輔助集群實現高可用、對集群進行監控、對集群進行健康檢查的一種組件或軟件。

而實現這種高可用,以及集群監控和集群健康檢查的手段,則是通過 HaProxy 中的 Proxy 代理實現的,我們可以配置采用 tcp 還是 http 代理的方式,這點同學們簡單了解即可。

2.2 HaProxy 組件的作用

從上述 HaProxy 組件的定義中,我們不難看出,HaProxy 的首要功能其實就是為集群提供高可用性的支持,HaProxy 允許我們對不同的集群進行整合,當然,不局限于 RabbitMQ 集群,只要是某種服務所組成的集群,我們都可以使用 HaProxy 去管理, 從而提高我們集群整體的可靠性和高可用性。

除此之外,HaProxy 還提供了類似于我們所熟知的后臺管理系統那樣的,集群監控平臺界面,在集群監控平臺中,我們可以看到非常詳細的集群中各節點的狀態信息,包括關鍵的狀態屬性,以及各集群間的一個通信狀態,而這種監控結果,HaProxy 會以文字表格和圖表的形式展現給我們。

3 HaProxy 組件基礎屬性

要想在集群中使用 HaProxy 組件,就需要在將 HaProxy 組件安裝完畢后,根據實際的業務場景去配置我們的 HaProxy 組件,以更好地服務于我們的集群環境。

那么,配置 HaProxy 都有哪些基礎屬性呢,下面就讓我們來看一些在 HaProxy 組件中,最基礎的配置屬性。

mode 屬性

該屬性同時位于 defaults 配置項和 listen_rabbitmq_cluster 配置項下,其主要作用是用來聲明我們當前 RabbitMQ 集群節點中,HaProxy 所采用的代理模式,我們可以根據我們的實際業務需要來選擇采用哪種代理模式,支持采用 tcp 或 http 協議的代理模式。

retries 屬性

該屬性位于 defaults 配置項下,其主要作用是用來聲明,RabbitMQ 集群中,HaProxy 在集群間通信的一個嘗試次數,如果超過這個嘗試次數,集群的某一節點沒有返回響應,那么,HaProxy 就會認為該節點不可用。

maxconn 屬性

該屬性位于 defaults 配置項下,其主要作用是用來聲明,當前節點中所允許接入到 HaProxy 中的最大連接數,這個最大連接數應該根據實際的業務場景去設置,不能設置的過大或過小,一般都被設置為 2000 。

clitimeout 屬性

該屬性位于 defaults 配置項下,其主要作用是用來聲明,當前節點中客戶端的一個空閑時間,單位為秒,如果客戶端的空閑時間超過了這一約束,則 HaProxy 就會發起重連機制,重新連接集群各節點。

servtimeout 屬性

該屬性位于 defaults 配置項下,其主要作用是用來聲明,當前節點所在服務器的一個連接超時時間,單位也為秒,如果我們連接服務器所消耗的時間超過了這一限制,那么 HaProxy 也會發起重連機制,重新連接集群各節點。

states uri 屬性

該屬性位于 listen stats 配置項下,其主要用來聲明,在 HaProxy 組件中提供的集群監控 web 管控臺的一個地址,往往會集合位于同一配置項下的 bind 屬性來一起使用,通過bind 綁定訪問 ip 和端口號,通過 states uri 來綁定訪問路徑,這樣我們就可以使用這個地址來訪問 HaProxy 提供的集群 web 管控臺了。

4. 小結

本小節為同學們介紹了 HaProxy 組件的基礎內容,包括什么是 HaProxy 組件、HaProxy 組件的作用、適用范圍,以及 HaProxy 組件的一些基礎的配置屬性和配置項,同學們只有對 HaProxy 組件的基礎概念和基礎屬性有一個簡單的了解之后,我們才會在最后的實操部分得心應手。