微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

kafka生产,保存,消费消息过程要点个人总结

一、生产

1)producer 先从 zookeeper 的 "/brokers/.../state" 节点找到该partition 的 leader

2)producer 将消息发送给该 leader

3)leader 将消息写入本地 log

4)followers 从 leader pull 消息,写入本地 log 后向 leader 发送 ACK

5)leader 收到所有 ISR 中的 replication 的ACK后,增加 HW(high watermark,最后commit 的offset)并向 producer 发送 ACK


二、保存

1)物理上把 topic 分成一个或多个 patition,计算得到相应的partition,保存到相应partition

2)保留数据是 Kafka 的一个基本特性, 但是 Kafka 不会一直保留数据,也不会等到所有消费者都读取了消息之后才删除消息。

相反,Kafka 管理员为每个主题配置了数据保留期限, 规定数据被删除之前可以保留多长时间, 或者清理数据之前可以保留的数据量大小。(时间&&大小)

3)注意:zookeeper保存的数据信息

三、消费

对于每一个分区而言,只能被同一个消费者组中的其中一个消费者消费

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐