Kafka
发布时间:2024年01月14日
KAFKA
kafka集群
-
broker
-
主题 Topic
- kakfa是对消息数据的处理
- 消息数据会有不同的分类 用户数据 商品数据 订单数据
- 使用主题对消息数据进行分类,然后分别存储
- 主题创建成功后,会将主题信息写入zk中,所有的broker就可以从zk获取有哪些主题
- 生产者写入数据是可以指定写入的主题,人为对数据按照主题分类
- 消费者读取数据是也要指定主题,从对应的主题下获取数据
- 操作kafka必须现有主题
-
分区(分片) Partition
- 分区是kafka存储数据的最小单元,消息数据最终是存储在分区上的
- 一个主题在存储时可以指定多个分区
- 当有多个分区时,分区被分配到不同broker上
- 分区所存储的数据是在系统的磁盘上进行存储。每个分区会创建不同目录,然后将数据写入该目录下的文件中
- 文件中存储的数据是有有效期,默认的有效期是168小时,也就是一周,超过有效期后,会删除数据
-
副本 Replication
- 为了保证分区数据的安全性,避免分区数据丢失,kafka采用副本机制将分区数据存储多份
- 默认在创建主题时,如果没有指定副本,那么副本的数量为1,也就是只有一个分区只有一份数据
- 在创建主题时,可以指定多个副本,一般指定副本数量是2-3个
- 副本数据不会保存在同一台服务器上,会将副本保存在多台服务器,通过轮循broker节点,创建副本
- 多副本的角色划分
- 领导者副本
- broker控制器会选举产生一个领导者副本
- 领导者副本负责处理所有请求(写入和读取)
- 生产者写入数据是,会将数据给到领导者副本,领导者副本写完后,会将数据同步给追随者副本
- 追随者副本
- 追随者副本 请求领导者本副本获取最新数据,如果领导者副本有新数据产生,会将新数据同步给追随者副本
- 追随者副本不处理数据的写入和读取请求
-
偏移量(offset)
- 分区数据在存储的时候会有一个偏移量,记录了数据在分区中的位置。
- 保证在同一个分区内的数据是有序存储的,可以保证数据的顺序性,消费在读取数据进行处理就是按照偏移量位置顺序读取数据处理
文章来源:https://blog.csdn.net/weixin_58026490/article/details/135585892
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:chenni525@qq.com进行投诉反馈,一经查实,立即删除!