Kafka详解与总结(三)

Kafka分片存储机制

几个kafka重要概念:

  1.  Broker:消息中间件处理结点,一个Kafka节点就是一个broker,多个broker可以组成一个Kafka集群。
  2.  Topic:一类消息,例如page view日志、click日志等都可以以topic的形式存在,Kafka集群能够同时负责多个topic的分发。
  3.  Partitiontopic物理上的分组,一个topic可以分为多个partition,每个partition是一个有序的队列。
  4.  Segmentpartition物理上由多个segment组成,下面有详细说明。
  5. offset:每个partition都由一系列有序的、不可变的消息组成,这些消息被连续的追加到partition中。partition中的每个消息都有一个连续的序列号叫做offset,用于partition中唯一标识的这条消息。 

下面示意图形象说明了partition中文件存储方式:

 

  •  每个partion(目录)相当于一个巨型文件被平均分配到多个大小相等segment(段)数据文件中。但每个段segment file消息数量不一定相等,这种特性方便old segment file快速被删除。(默认情况下每个文件大小为1G)
  •  每个partiton只需要支持顺序读写就行了,segment文件生命周期由服务端配置参数决定。

 优点:这样做的好处就是能快速删除无用文件,有效提高磁盘利用率。

猜你喜欢

转载自www.cnblogs.com/htkj/p/10941454.html