全部开发者教程

RabbitMQ 入门教程

RabbitMQ 简介
RabbitMQ 简介

KeepAlived组件基础属性介绍

1. 前言

Hello,大家好。通过之前几个小节的学习,我们已经对 RabbitMQ 中的四种主流集群模式,以及在这些集群模式中都会用到的一些基础的集群配置属性,都有了一定的了解,显然我们已经基本了解了 RabbitMQ 中有关集群的基础内容。

但是,要想自主搭建 RabbitMQ 四大集群模式中的任意一种集群模式,我们只了解了这些内容还是不够的,所以,本节会介绍我们在集群模式中提到的一款高效率组件,那就是 KeepAlived 组件。

本节会介绍什么是 KeepAlived 组件,以及该组件的一些基础属性、适用范围、在 RabbitMQ 集群配置中所发挥的作用等内容。

本节主要内容:

  • KeepAlived 组件基础概念概述。

2.KeepAlived 组件基础概念概述

2.1 什么是 KeepAlived 组件?

什么是 KeepAlived 组件呢?我们先来看一下 KeepAlived 这一名词本身的组成所表示的含义。KeepAlived 由 Keep 和 Alived 两个单词组成,Keep 翻译过来具有保持的含义,而 Alived 翻译过来具有或者的含义,我们把这两个含义组合起来,就是保持活着的意思。

那在计算机专业领域中,什么叫做保持活着?要想理解这一概念,我们需要先来理解什么是‘活着’,活着一词,我们可以理解为某一状态的持续,对于我们人类来讲,我们所说的活着,其实就是我们一直在重复执行某些具体的动作,比如吃饭、睡觉、上班等行为,如果哪一天这些行为我们都不能再做了,那就说明我们已经不是‘活着’的状态了。

在计算机专业领域中,我们所说的‘活着’,其实指的就是某一具体服务状态的一个持续,即存在于计算机中的一些服务,永远保持着一种状态, 无论外界条件对其造成哪些方面的影响,这一服务状态永远会持续,不会被中断。

在 KeepAlived 中,这一状态指的就是计算机服务集群中的,一种可以持续提供服务状态的一种保障状态,当我们在集群中配置了 KeepAlived 时,我们就可以将我们的集群服务状态称之为‘活着’。

从专业角度来讲,KeepAlived 组件其实就是一种可以提供计算机服务集群间的服务状态不间断运行的一种辅助软件,或者叫做工具组件。 通过在集群中引入 KeepAlived 组件,再结合一定的配置,可以保证集群持续稳定的对外提供服务,不受外界环境的影响。(特殊因素除外)。

2.2 KeepAlived 组件的作用

从上述 KeepAlived 组件的定义中,我们不难看出,KeepAlived 的首要功能其实就是为集群提供一种持续对外服务的可能,或者被称为一种服务的保障措施。

而 KeepAlived 组件本身还提供了一些其他的功能,比如,对不同集群间的服务状态的监控,对不同集群间的服务状态的一个心跳检测机制,提供对集群服务负载均衡的支持等功能,我们可以根据实际需要,去整合 KeepAlived 组件与集群。

3 KeepAlived 组件基础属性

要想在集群中使用 KeepAlived 组件,就需要在将 KeepAlived 组件安装完毕后,根据实际的业务场景去配置我们的 KeepAlived 组件,以达到高可用的目的。

那么,配置 KeepAlived 都有哪些基础属性呢,下面就让我们来看一些在 KeepAlived 组件中,最基础的配置属性。

router_id 属性

该属性位于 global_defs 配置项下,其主要作用是用来声明我们当前 RabbitMQ 集群节点的名称,这个名称我们可以自由指定,该属性的默认值是我们的 hostname ,也就是当前集群节点的主机名称。

interval 属性

该属性位于 vrrp_script_xxx 配置项下,其主要作用是用来声明,KeepAlived 对集群的运行状态进行检测的一个时间间隔,默认值为两秒

state 属性

该属性位于 vrrp_instance V1_1 配置项下,其主要作用是用来声明,当前节点的节点模式,即声明当前节点是主节点,还是从节点,该属性只有两个值,分别为 MASTER ,以及 BACKUP ,MASTER 表示主节点,BACKUP 则表示从节点。

interface 属性

该属性位于 vrrp_instance V1_1 配置项下,其主要作用是用来声明,当前节点所在服务器的网卡的名称,这一配置是 KeepAlived 组件要求必须要配置的属性,其没有默认值。

virtual_router_id 属性

该属性位于 vrrp_instance V1_1 配置项下,其主要作用是用来声明,当前节点虚拟路由的 id 号,该属性我们可以随便指定,但是要注意,我们的主节点和从节点的属性值要保持一致。

virtual ipaddress 配置项

virtual ipaddress 配置项是 KeepAlived 组件中的最核心的配置项,该配置项的主要作用就是定义我们的集群,对外暴露的虚拟的 ip 地址,同时也支持配置多个虚拟 ip 地址,在配置虚拟 ip 地址时,我们直接将定义好的 ip 地址填入到该配置项中即可。

4. 小结

本小节为同学们介绍了 KeepAlived 组件的基础内容,包括什么是 KeepAlived 组件、KeepAlived 组件的作用、适用范围,以及 KeepAlived 组件的一些基础的配置属性和配置项,同学们只有对 KeepAlived 组件的基础概念和基础属性有一个简单的了解之后,我们才会在最后的实操部分得心应手。