要确保Kafka在使用过程中的稳定性,需要从kafka在业务中的使用周期进行依次保障。主要可以分为:事先预防(通过规范的使用、开发,预防问题产生)、运行时监控(保障集群稳定,出问题能及时发现)、故障时解决(有完整的应急预案)这三阶段。
另外的篇幅请参考
运行时监控主要包含集群稳定性配置与Kafka监控的最佳实践,旨在及时发现Kafka在运行时产生的相关问题与异常。
1. 集群稳定性监控
1.1 kafka集群配置
合理进行kafka实例配,主要关注这几个数据:
-
磁盘容量和峰值带宽
-
消息保留时长;
-
动态保留策略;
A. 磁盘容量和峰值带宽
可根据实际业务的消息内容大小、发送消息qps等进行预估,可以尽量设置大点;具体数值可根据实例监控查看,如果短时间内磁盘使用百分比就达到较高值,则需扩容。
峰值带宽=最大生产流量*副本数
B. 消息保留时长
消息即使被消费,也会持久化到磁盘存储保留时长的时间。该设置会占用磁盘空间,如果每天消息量很大的话,可适当缩短保留时间。
C. 动态保留策略
推荐开启动态保留设置。当磁盘容量达到阈值,则删除最早的消息,最多删除到保底