zl程序教程

您现在的位置是:首页 >  大数据

当前栏目

kafka架构:分区机制详解

Kafka架构 详解 机制 分区
2023-09-14 09:02:01 时间

在这里插入图片描述
在这里插入图片描述

  • 消息是通过topic为单位进行管理;
  • 分区机制可以打破单机存储容量的限制,理论上可以存储海量的数据;
  • 分区数越大,并发写入的性能就越高。这也是kafka适合用于高并发和大数据领域的关键;
  • 每个topic对应一组日志分区数据;
  • 每一组日志分区是一个有序的不可变的日志序列,分区中的每一个record都被分配了唯一的序列编号称为是offset;
  • kafka会持久化所有发布到topic中的record信息,record的默认有效期是7天;
  • kafka会定期检查日志文件,将过期的数据从log中移除;
  • kafka采用磁盘存储日志文件。

在这里插入图片描述
在这里插入图片描述

PS:kafka只能保证同一个分区内部的数据是FIFO先进先出的,而不能保证所有的数据都是FIFO的。因为一个topic有多个分区,默认会使用轮询的方式对消息进行负载均衡。

  • offset的值越小,表示进入到分区时间越早;反之数据越新。
  • kafka只能保证分区内部有序,不能保证多个分区的先进先出。
  • 如果要严格保证数据是FIFO先进先出的,可以将topic的分区数设置为0,也就是不分区来保证先进先出。