一、背景
为便于用户验证 TDMQ RabbitMQ 在面对可用区级时的容灾能力,智能顾问-混沌演练提供了对 TDMQ RabbitMQ (跨 AZ 实例)可用区级 Broker 宕机故障演练动作,用于模拟真实可用区灾难。通过对 Broker 进行容灾演练,可以验证业务本身的容灾能力,测试持久性机制,评估故障影响范围及时间等。
二、注意事项
·Broker 宕机故障演练动作仅支持对跨可用区部署的 TDMQ RabbitMQ 实例,否则无法进行故障注入。非跨可用区部署实例请升级为跨可用区实例之后进行演练。
·若需要对多个实例进行故障注入,建议拆分为多个动作组,每个动作组一个实例进行。
·故障注入之后,生产端或消费端可能会出现闪断,请谨慎操作。
三、演练准备
准备一台可以进行演练的跨可用区部署的 TDMQ RabbitMQ 实例。
四、步骤一:创建演练
1. 登录 智能顾问控制台 > 系统架构,进入治理模式,点击混沌演练。(详细创建演练方式请参见 使用智能顾问进行混沌演练)
2. 点击新建演练,填写演练基本信息,完成后点击下一步。
3. 在演练实例中,选择中间件- RabbitMQ,选择后点击搜索添加,添加 RabbitMQ 实例资源。亦可通过架构图添加方式,直接点击架构图上的 RabbitMQ 资源,选择实例进行添加。
4. 完成添加实例后,点击添加动作,演练动作选择 Broker 宕机,然后点击下一步。
5. 选择对应的注入可用区,然后点击保存。
6. 参数配置完成之后,在全局配置中选择执行方式、护栏策略,及添加可观测指标。配置完成后,点击提交,即可完成演练任务创建。
五、步骤二:执行演练
1. 在执行演练之前,可以通过 消息队列 TDMQ > RabbitMQ > 集群管理 中对应实例的 Web 控制台访问地址进入查看 RabbitMQ 控制台观察。
2. 进入 RabbitMQ 控制台之后,可以看到对应 Broker 的存活状态。
3. 前往演练详情,点击故障动作组中的执行,或下方开始演练,注入故障。
4. 故障注入成功之后,可以点击动作卡片,查看对应的执行详情。可观测到故障成功发起,该实例指定可用区下的 Broker 已经宕机离线。
5. 前往 RabbitMQ Web 控制台,可以看到已经有一个 Broker 节点宕机处于未运行状态。
也可从 腾讯云 TDMQ > RabbitMQ > 集群管理 页面看到当前实例处于异常状态,提示有 Broker 未启动。
6. 执行恢复动作,点击恢复动作的执行按钮。
7. 恢复执行需要一定的时间,待恢复之后,通过 RabbitMQ Web 控制台可以观察到宕机的 Broker 节点已经重新启动。
从 腾讯云 TDMQ > RabbitMQ > 集群管理 可看到当前实例恢复正常状态。