当前位置: 首页 > article >正文

Kafka常见面试题

如何防止消息丢失?

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

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

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

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

如何做到顺序消费?

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

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

1.添加新的消费者

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

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

如何实现延迟队列?

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

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

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

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

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


http://www.kler.cn/a/154565.html

相关文章:

  • 跟我学C++中级篇——RAII
  • 数据结构(初阶4)---循环队列详解
  • stm32——通用定时器时钟知识点
  • RK3588 C++ 多线程运行
  • jvm调优方式
  • Go语言的零值可用性:优势与限制
  • 苹果mac屏幕投屏镜像工具AirServer2024
  • uni-app x生成的安卓包,安装时,提示不兼容。解决方案
  • JTag 提取NXP固件脚本示例
  • 使用wininet下载一个网页
  • 进程间通信 管道
  • 用两个队列实现栈
  • QT 中 QProgressDialog 进度条窗口 备查
  • mazing是什么软件?为什么选择iMazing
  • 【Redis】Redis的内部设计与实现
  • vue中中的动画组件使用及如何在vue中使用animate.css
  • go学习之goroutine和channel
  • 微信小程序获取定位显示在百度地图上位置出现偏差
  • vcomp140.dll是什么意思?vcomp140.dll缺失怎么修复的五个方法
  • WT2003H MP3语音芯片方案:强大、灵活且易于集成的音频解决方案
  • 给定一组经纬度如何判断某点是否在这组经纬度的范围之内(电子围栏实现代码)
  • 关于Maxscript你了解多少?
  • ChatGpt回答人工智能发展利大于弊的辩证论述
  • 同步加载、异步加载、延迟加载、预加载的区别
  • Java数据结构之《希尔排序》题目
  • 代码随想录算法训练营第39天| 62.不同路径 63. 不同路径 II