Yearly Archives: 2023
kafka-11 Producer API
消息发送流程
kafka的producer发送消息采用的是异步发送的方式
在消息发送的过程中,涉及到两个线程:
main线程
sender线程
一个共享变量RecordAccumulator
main线程将消息发送给RecordAc...
kafka-10 Kafka事务
Producer事务
幂等性只能解决单分区单会话的问题
精准一次性写到开发集群
为实现跨分区会话的事务,引入全局唯一的TransactionID(事务ID),将Producer的PID和TransactionID绑定,在Producer重启后就可以通...
kafka-09 zookeeper在kafka中的作用
kafka集群中有一个broker会被选举为Controller负责:
管理集群broker的上下线
所有的topic的分区副本分配
leader选举工作等
Controller的管理工作都是依赖于zookeeper
kafka-07 kafka消费者
消费方式
consumer采用pull(拉)模式从broker中读取数据
如果kafka没有数据,消费者可能会陷入循环中,一直返回空数据
如果当前没有数据可供消费,consumer会等待一段时间之后再返回,这段时长即为timeout(传入的时长参数t...
kafka-06 kafka生产者
分区策略
分区的原因
方便在集群中扩展,每个partition可以通过调整以适应它所在的机器,而一个topic又可以有多个partition组成,因此整个集群就可以适应任意大小的数据了
可以提高并发,因为可以以partition为单位读写了
...
kafka-05 kafka架构深入
kafka工作流程及文件存储机制
工作流程
创建副本,leader也算副本之一,且相同分区的副本不会在同一台服务器上
上图012345表示偏移量
follower会主动找到leader把数据备份过来
kafka中的消息是以topi...
kafka-03 Kafka快速入门
集群规划
hadoop001hadoop002hadoop003zkzkzkkafkakafkakafka
安装部署
下载jar包,解压到/opt/module并重命名为kafka
编辑配置文件 conf/server.properties
...