kafka发送消费核心参数与设计原理详解

核心参数详解:

发送端参数:

发送方式:默认值一般都是1:

重试参数 :

批量参数:

消费端参数:

自动提交参数:

如果是false,就是说消费完后不提交位移。也就是说比如之前消费的1-5.第N次还是消费到1-5.如果是false。那么第一次消费1-3,第二次消费4-5:默认是true:我们一般用false。因为会有消息丢失和消息重复消费的问题可能发生。那么我们就得手设置提交了:

比如我们设置了false,那么下面这个自动提交间隔参数就没用了。

同步提交和异步提交:

消费指定分区参数:

发消息的时候给分区0和1都发送消息了:

消费的时候只消费了0分区的:

消息回溯消费参数:

指定offset消费参数:

指定时间点消费参数:

这个参数:

这几个参数线上出问题的时候用得到:

心跳参数:

这个参数:

springboot整合kafka:

提交参数的配置可选项:

像这样:如果是上面配置的话 需要加上这个参数提交:

但是如果这里是batch:

就不需要手动提交,这个方法结束的时候,springboot会帮你提交:

这两个参数都是需要像上面那样在java代码里手动提交的:

原理:

进入到zk,就可以看到总控制器是broker0;这个controller节点是broker在启动的时候就创建的。谁先启动谁就是总控制器。但是是批量启动broke的话,那么就牵扯到ZK的ZAB协议选举来决定谁是总控制器了。

找的就是ISR的节点,按照这个顺序来作为新的leader

相关推荐
真上帝的左手6 小时前
30. 技术专题-‌应用框架组件-分布式架构
分布式·架构·系统架构·分布式架构
zixu_star21 小时前
从单机到分布式:定时任务如何处理大量数据与执行失败?
分布式
lsc_blog2 天前
听到优化风声,先准备能由自己掌控的事
数据库·分布式·中间件·职场和发展·重构
Lansonli3 天前
大数据Spark(八十七):Spark-Submit 参数详解
大数据·分布式·spark
qq_452396233 天前
第二篇:《CommitLog + ConsumeQueue:一条日志解决 Kafka 多分区随机写的难题》
分布式·kafka
Alluxio4 天前
Alluxio + OCI:为 AI 工作负载实现亚毫秒访问延迟与可扩展吞吐
运维·数据库·人工智能·分布式·缓存·ai·语言模型
阿卡好可爱4 天前
Lua 热更新不生效:改完文件线上仍是旧逻辑,package.loaded 与 upvalue 重绑定详解
数据结构·分布式·后端·架构·lua
我不会起名字3225 天前
消费回调固定 return nil:错误传播与 Kafka 位点提交的区别
后端·mongodb·kafka·go·im·故障排查
qq_452396235 天前
第十篇:《Kafka 安全加固:SASL、SSL、ACL 与多租户隔离》
安全·kafka·ssl