Kafka常见面试题

如何防止消息丢失?

发送端:ack设置为-1或副本数,默认副本全部同步才会认为发送成功

接收端:对接收到的数据进行备份,定期进行检查对执行失败的数据重新执行;选择手动提交offset,对执行失败的数据不提交offset。

如何防止消息的重复消费?

在消费者端对数据进行幂等校验,禁止一定时间内出现相同含义的数据;或添加分布式锁。

如何做到顺序消费?

对获取到的数据进行再次排序

如何解决消息积压的问题?

1.添加新的消费者

2.在消费者中添加新的线程

3.验证消息的时效性,丢弃过期数据

如何实现延迟队列?

每隔一段时间消费数据,将当前时间与数据产生时间进行对比,小于延迟时间的不提交,并重新进入等待。

Kafka如何做到单机上百万的高吞吐量呢?

页面缓存技术:将数据缓存到系统的cache中,在刷新到磁盘当中

磁盘顺序写:按顺序写入磁盘

零拷贝技术:在cache中未查到数据,从磁盘获取加载到cache中后,不copy到Kafka进程中,而是由操作系统直接发送到网卡。

相关推荐
最笨的羊羊1 小时前
Flink CDC系列之:Kafka Debezium JSON 序列化器的实现DebeziumJsonSerializationSchema
kafka·debezium·schema·flink cdc系列·serialization·序列化器·debezium json
苏州知芯传感1 小时前
环境智能的触角:MEMS微振镜赋能分布式光纤传感网络
网络·分布式·3d·mems·激光·微振镜
小坏讲微服务2 小时前
Spring Boot 4.0 与 Spring Cloud Alibaba 2025 整合完整指南
java·spring boot·分布式·后端·spring cloud·微服务·架构
数智化架构师-Aloong6 小时前
⚡️ PowerJob深度解析:Java生态下高并发分布式调度的终极选择
java·开发语言·分布式·系统架构
a***59267 小时前
RabbitMQ高级特性----生产者确认机制
分布式·rabbitmq
LDG_AGI8 小时前
【推荐系统】深度学习训练框架(六):PyTorch DDP(DistributedDataParallel)数据并行分布式深度学习原理
人工智能·pytorch·分布式·python·深度学习·算法·spark
BD_Marathon9 小时前
【Zookeeper】Zookeeper内部的数据模型
linux·分布式·zookeeper
最笨的羊羊9 小时前
Flink CDC系列之:Kafka 数据接收器配置选项类KafkaDataSinkOptions
kafka·flink cdc系列·kafkadata·数据接收器配置选项类·sinkoptions
w***z5010 小时前
分布式多卡训练(DDP)踩坑
分布式