学习kafka

一个存放消息的组件
生产者, 消费者, broker三部分

消息队列的两种模式

*生产者和消费者(消费者主动拉取信息,然后删除)

*发布订阅()

kafka基础架构 *一个topic有多个partition(副本(信息非全量),有分leader和follower)

*消费者组(只消费leader的)(一个分区一个消费者处理)

*zookeeper()

安装

修改broker id

修改ZK地址

修改数据存放路径

生产者原理

流程:数据------缓存------集群

数据量先写道缓存 到达指定批次数量(batch) (默认16K),或等待时间(linger)(默认0秒)就发送

*可以异步发送

*可以异步发送回调

*同步发送

分区 *1有指定的-指定partution

*2有key的-根据key和toipc的partition数取余,

*3啥没有的-粘性分区(随机,批次满了或时间到在随机下一个)

怎么提高吞吐量

*加大批次(batch)(默认16K)

*等待时间(linger)(默认0

*压缩

*修改缓冲区大小(默认32M)

幂等性 :(无论发送多少次,都只保存一条)

去重性(最多一次)配置acks

可靠性(最少一次)

有序性(开启幂等性,或者设置单分区)

架构

消费者

broker
broker

topic

partition分区

可靠性(副本(leader,folloer))

生产者和消费者只对leader操

一个分区只有一个消费者

消费者

zookeeper
broker.ids

leader

辅助选举

生产者API

*send()异步发送

*可以回调可以实现同步

*批量发送设置(batch) (默认16K),或等待时间(linger)默认0

*配置acks

(acks=0或者1)最多一次(去重)

(acks=-1或者retries>0)最少一次(可靠)

消费者API可以自动提交者手动提交(单条或者批量提交)

支持事务y

隔离级别读未提交,读提交

相关推荐
DemonAvenger4 天前
Kafka性能调优:从参数配置到硬件选择的全方位指南
性能优化·kafka·消息队列
初次攀爬者4 天前
ZooKeeper 实现分布式锁的两种方式
分布式·后端·zookeeper
西岸行者5 天前
学习笔记:SKILLS 能帮助更好的vibe coding
笔记·学习
悠哉悠哉愿意5 天前
【单片机学习笔记】串口、超声波、NE555的同时使用
笔记·单片机·学习
别催小唐敲代码5 天前
嵌入式学习路线
学习
毛小茛5 天前
计算机系统概论——校验码
学习
babe小鑫5 天前
大专经济信息管理专业学习数据分析的必要性
学习·数据挖掘·数据分析
winfreedoms5 天前
ROS2知识大白话
笔记·学习·ros2
在这habit之下5 天前
Linux Virtual Server(LVS)学习总结
linux·学习·lvs
我想我不够好。5 天前
2026.2.25监控学习
学习