有奖捉虫:行业应用 & 管理与支持文档专题 HOT

背景

消息中间件在分布式系统中往往扮演着重要的角色,但是在实际的生产环境中,会有很多因素会导致 Broker 节点磁盘 IO 高负载,以下为几种常见的真实场景:
高并发写入:大量的消息同时写入到 Broker。这可能发生在高流量的消息生产环境中,例如大规模的实时数据传输或者高频率的日志记录。
消息存储压力:如果 Broker 上存储的消息量非常大,或者消息的大小较大。这可能发生在长时间运行的系统中,或者在需要保留大量历史消息的应用中。
大量的消息复制和同步:当 Broker 作为集群的一部分时,大量消息的复制和同步过程会增加磁盘 IO 负载。这包括将消息从一个 Broker 复制到其他Broker,以实现高可用性和数据冗余。
索引和检索操作:如果 Broker 上的消息存储使用了索引结构,在数据量较大时,索引的维护和检索操作也会增加磁盘 IO 负载。这可能发生在需要快速检索消息的应用中,例如按照特定条件查询消息。
磁盘故障和恢复:当磁盘发生故障或需要进行数据恢复时,Broker 会执行磁盘 IO 密集的操作,例如从备份中恢复数据或者进行磁盘修复。
为此腾讯云混沌演练平台提供了 CKafka Broker 磁盘 IO 高负载演练动作,以测试业务系统在面对 CKafka Broker 出现磁盘 IO 高负载时带来的延迟等非预期情况的应对能力和恢复能力,从而提高业务的安全性和稳定性。

注意事项

实例类型:该动作只对实例类型为 CKafka 专业版实例开放故障注入能力。CKafka 标准版实例暂不支持进行演练。
实例状态:建议进行演练的实例上有真实消息生产与消费流量,主题分区数大于3,便于观察故障对业务的影响效果。(非必须项)

演练准备

准备一台可供演练的 CKafka 专业版实例。

步骤一:创建演练

1. 登录 腾讯云混沌演练平台 控制台。
2. 在左侧导航栏选择演练管理页面,单击新建演练。
?
?
3. 选择创建空白演练
?
?
4. 填写完基本信息后,进入演练对象配置,对象类型选择云资源下的 CKafka,单击添加实例。单击添加实例后,会列出目标地域下所有的 CKafka 实例信息,可以根据实例 ID、VPC-ID、 子网 ID 以及标签筛选符合要求的实例。
?
?
5. 选择目标实例后,单击立即添加,即可添加演练动作。
?
?
6. 演练动作选择 Broker 磁盘 IO 高负载,然后单击下一步
?
?
7. 设置动作参数后单击确认
?
?
8. 单击下一步,进入全局配置,全局配置请参见 快速入门
?
?
9. 确认无误后,单击提交。
?
?
10. 可单击演练详情开始演练。
?
?

步骤二:执行演练

说明:
目前 CKafka 控制台尚无磁盘 IO 负载监控指标,当 CKafka 流量较大时可观察生产消费耗时监控指标,如果需得到磁盘 IO 负载监控数据,可以 提交工单 联系 CKafka 运维获取。
1. 观察演练前实例监控数据,可以重点关注高级监控中的监控指标。可前往 CKafka 控制台 查看。
2. 由于演练为手动推进,所以需要手动执行故障动作。可单击动作卡片中的执行启动故障注入。
?
?
3. 故障注入的同时,可点击日志中的链接前往高级监控观察生产消费耗时等监控指标。
?
?


http://www.vxiaotou.com