Kafka常见面试题

如何防止消息丢失?

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

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

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

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

如何做到顺序消费?

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

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

1.添加新的消费者

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

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

如何实现延迟队列?

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

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

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

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

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

相关推荐
蜜獾云1 小时前
Kafka(4)-kafka生产环境规划部署
分布式·kafka
若水不如远方3 小时前
分布式一致性协议(五):殊途同归 —— ZAB 协议与 ZooKeeper 架构
分布式·后端·zookeeper
星辰_mya3 小时前
分布式锁:跨 JVM 的“工商局备案章”
jvm·分布式·面试
wanhengidc4 小时前
服务器分布式存储的功能
运维·服务器·分布式
码云数智-大飞4 小时前
分布式锁的三种实现方案:Redis、ZooKeeper与数据库的深度对比与选型指南
数据库·redis·分布式
无关86885 小时前
Springboot集成kafka
spring boot·kafka
xUxIAOrUIII5 小时前
【Kafka】快速入门
分布式·kafka
future02105 小时前
Kafka再平衡:从救火到优雅控场
学习·kafka
Coder_Boy_5 小时前
分布式系统“三高”与数据一致性核心实践(基于实操梳理)
java·jvm·spring boot·分布式·微服务·性能优化
SoleMotive.6 小时前
rabbitmq消息堆积怎么处理?
分布式·rabbitmq