Kafka 单分区有序 怎么做到全局有序
其他
2019-03-18 16:31:09
阅读次数: 0
Kafka 单分区有序 怎么做到全局有序
主要概念
- Topics: 主题是一个发布记录的目录或者概要名称
- broker :进程,一个kafka就是一个broker,多个brok可以组成一个集群
- consumer
- 一个组内共享一个group id
- 组内的消费者协调一致去消费topic的所有分区
- 每个分区P0只能被group A 里的一个消费组C1消费
- 容错消费机制
- partition:
- 单分区有序的,不可变记录序列,
- 这些记录被追加到一个结构化的提交日志中,
- 每条记录都没分配了一个唯一标识的连续id号,就是offset;
- 每个partition对应一个日志目录,目录下面对应多个日志分段(LogSegment),每个LogSegment由一个.index 和 .log两个文件组成,LogSegment命名规则:第一个全是0,后面为上一个logSegment最后一个offset值;索引文件采用按稀疏索引
- kafka可以设置保存策略,记录在设置的时间内可以使用,超过时间,将被丢弃释放空间,所以kafka可以长时间保存数据
分区的作用
- 允许日志扩展到超过单个服务器所能容纳的大小,每个分区都必须有一个适合承载它的服务器,但一个主题可能有多个分区,因此它可以处理任意数量的数据
- 他作为平行度的单位
如何做到全局有序
- 一个topic使用一个分区,但是这样会降低性能
- 针对单分区有序,我们想办法发同一个特征的数据写到一个分区
转载自blog.csdn.net/huonan_123/article/details/88425658