0
点赞
收藏
分享

微信扫一扫

kafka学习笔记(一)

书坊尚 2021-09-22 阅读 62
日记本
一、Kafka注册到zk
1.1、kafka在zk中的整体注册信息结构

2.1、topic信息的注册
#登录zkCli查看kafka节点分区信息(为了更直观的查看,对json进行了格式化)
[zk: 127.0.0.1:3181(CONNECTED) 59] get /brokers/topics/dataPush
{
    "version": 1,
    "partitions": {
        "2": [0, 1],
        "1": [2, 0],
        "0": [1, 2]
    }
}
cZxid = 0x1000000c4
ctime = Tue Dec 18 16:09:32 CST 2018
mZxid = 0x1000000c4
mtime = Tue Dec 18 16:09:32 CST 2018
pZxid = 0x1000000c7
cversion = 1
dataVersion = 0
aclVersion = 0
ephemeralOwner = 0x0
dataLength = 58
numChildren = 1
[zk: 127.0.0.1:3181(CONNECTED) 60]
对应磁盘上的结构如下

二、Kafka副本机制
2.1、基本概念

2.2、Kafka副本同步机制
>消息的确认模式
> # 0:只管发送,不管broker是否接收。这种方式为异步同步
> # 1:发送消息,并会等待leader 收到确认后。同步复制。
> # -1:发送消息,等待leader收到确认,并进行复制操作后,才返回,可靠性最高,同步复制。
> request.required.acks = 0

1:连接zk
2:由zk反馈leader信息
3:producer向leader发送消息,leader收到消息后,写入本地log
4:leader向消息同步到所有followers(实际是由followers 从leader pull消息),并将消息写入本地log
5:向leader发送ack消息
6:leader收到所有ack消息后,将ack反馈到producer

附录:
1:kafka consumer是线程非安全的,一个consumer对象只能一个线程操作。可以一个线程从kafka拉取数据,多个线程处理。

举报

相关推荐

【kafka学习笔记】初识Kafka

kafka学习笔记

kafka学习笔记07

kafka学习笔记(二)

Kafka学习笔记(二)

kafka学习笔记三

0 条评论