学习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

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

相关推荐
Flynt7 小时前
Redis Cluster主节点挂了,为什么"高可用"还全员掉线?我把三次kill的记录翻出来了
数据库·redis·分布式
青柠之夏cc8 小时前
AI与教育:个性化学习助手让“因材施教“成为现实,但代价是隐私?
人工智能·学习
for_ever_love__9 小时前
机器学习入门——手写线性回归与梯度下降
人工智能·python·学习·机器学习·线性回归
在猴站学算法9 小时前
(SQL注入学习)无回显的报错注入(Error-Based)
学习·网络安全·sql注入·ctf竞赛
JosieBook9 小时前
【数据库】MySQL 实战精通系列 · 第10篇:分库分表与分布式事务实战
数据库·分布式·mysql
知识分享小能手11 小时前
C++ 学习教程,从入门到精通,C++ 友元、异常和其他特性 — 详细知识点(15)
开发语言·c++·学习
fanged11 小时前
Camera学习2(V4L2和Media Controller)(TODO)
学习
梦帮科技12 小时前
vLLM / TensorRT-LLM 极限推理:PagedAttention 细粒度物理页表管理与连续批处理(Continuous Batching)实战
数据结构·人工智能·分布式·python·深度学习·算法·vllm
努力学习的代码小白13 小时前
源码学习15
学习
扶风ff14 小时前
求职笔试资料太散?用练题簿在线刷题,按岗位整理练习清单
前端·学习·小程序