Kafka常见面试题

如何防止消息丢失?

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

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

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

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

如何做到顺序消费?

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

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

1.添加新的消费者

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

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

如何实现延迟队列?

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

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

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

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

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

相关推荐
铁锹少年3 小时前
当多进程遇上异步:一次 Celery 与 Async SQLAlchemy 的边界冲突
分布式·后端·python·架构·fastapi
Naylor3 小时前
玩转kafka
spring boot·kafka
大千AI助手4 小时前
分布式奇异值分解(SVD)详解
人工智能·分布式·spark·奇异值分解·svd·矩阵分解·分布式svd
明达智控技术4 小时前
MR30分布式IO在自动上料机的应用
分布式·物联网·自动化
亿牛云爬虫专家4 小时前
用 Playwright + 容器化做分布式浏览器栈:调度、会话管理与资源回收
分布式·docker·容器·浏览器·爬虫代理·新闻网站·playwright
yours_Gabriel4 小时前
【分布式事务】Seata分布式解决方案
java·分布式·微服务
wearegogog1235 小时前
用docker搭建selenium grid分布式环境
分布式·selenium·docker
敲上瘾7 小时前
Linux系统C++开发环境搭建工具(三)—— brpc使用指南
linux·c++·分布式·rpc
linyb极客之路9 小时前
Kafka 租户隔离全攻略:五种生产级方案实战与选型指南
kafka
qq_12498707539 小时前
基于hadoop的电商用户行为分析系统(源码+论文+部署+安装)
大数据·hadoop·分布式·毕业设计