面试常问问题-中间件(kafka)
kafka是一个分布式发布订阅消息系统
优点:速度快
名词:
生产者(producer)、消费者(consumer)、topic(一个消息又一个topic)、partition(分区)
作用1:
传输数据(ey: 埋点)
kafka发送消息失败的可能:
1、网络问题导致kafka的服务器无法连接;
2、生产者配置错误;
3、消息大小超过服务器配置的限制;
4、主题不存在或配置错误;
5、权限问题
6、资源不足
7、kafka进程奔溃
kafka消费消息失败的可能:
1、配置问题,比如配置的topic不对
2、消费者群组配置错误
3、消费者处理能力不足
4、网络问题导致重复消费,需要消费者实现消费幂等
总结:包括不限于检查配置、调整生产与消费的速度匹配、提高消费者的处理能力等;
测试时需要考虑:
1、发送消息失败后是否有重试机制
2、消费失败后是否有重试机制
3、网络问题是否会导致重复发送消息或消费消息
4、灌满数据的时候消费者的处理能力
* tdmq: 处理异步消息