IT评测·应用市场-qidao123.com

标题: 深入相识Kafka的文件存储原理 [打印本页]

作者: 宝塔山    时间: 2024-7-13 21:12
标题: 深入相识Kafka的文件存储原理
Kafka简介

Kafka最初由Linkedin公司开辟的分布式、分区的、多副本的、多订阅者的消息系统。它提供了雷同于JMS的特性,但是在计划实现上完全不同,别的它并不是JMS规范的实现。kafka对消息保存是根据Topic进行归类,发送消息者称为Producer;消息继承者称为Consumer;别的kafka集群有多个kafka实例组成,每个实例(server)称为broker。无论是kafka集群,还是producer和consumer都依赖于zookeeper来保证系统可用性集群保存一些meta信息(kafka的0.8版本之后,producer不在依赖zookeeper保存meta信息,而是producer本身保存meta信息)。本文不打算对Apache Kafka的原理和实现进行介绍,而在编程的角度上介绍如何利用Apache Kafka。我们分别介绍如何编写Producer、Consumer以及Partitioner等。
Producer发送的消息是如何定位到具体的broker

Kafka的Producer通过一系列步调来确定消息的发送目标,此中分区计谋和leader副本的选择是关键步调,确保了消息可以或许正确地发送到相应的Broker。同时,通过公道的配置和重试机制,Producer可以或许保证消息的可靠性和系统的健壮性。
Kafka存储文件长什么样

在kafka集群中,每个broker(一个kafka实例称为一个broker)中有多个topic,topic数量可以本身设定。在每个topic中又有多个partition,每个partition为一个分区。kafka的分区有本身的命名的规则,它的命名规则为topic的名称+有序序号,这个序号从0开始依次增长。

在每个partition中有可以分为多个segment file。当生产者往partition中存储数据时,内存中存不下了,就会往segment file内里存储。kafka默认每个segment file的巨细是500M,在存储数据时,会老师成一个segment file,当这个segment file到500M之后,再天生第二个segment file 以此类推。每个segment file对应两个文件,分别是以.log末端的数据文件和以.index末端的索引文件。
具体来说,Kafka中的每个分区(Partition)由一个或多个Segment组成。每个Segment现实上是磁盘上的一个目录,这个目录下面会包含几个特定的文件:
别的,Segment作为Kafka中数据构造的根本单位,计划成固定巨细,如许做可以方便地进行数据的清理和压缩,同时保证性能。当一个Segment文件写满后,Kafka会主动创建一个新的Segment来继承存储数据。旧的Segment文件在满足肯定条件(如被消费且达到肯定的保存期)后会被删除,释放磁盘空间。

每个segment file也有本身的命名规则,每个名字有20个字符,不够用0填充。每个名字从0开始命名,下一个segment file文件的名字就是上一个segment file中最后一条消息的索引值。在.index文件中,存储的是key-value格式的,key代表在.log中按顺序开始第条消息,value代表该消息的位置偏移。但是在.index中不是对每条消息都做记载,它是每隔一些消息记载一次,制止占用太多内存。纵然消息不在index记载中在已有的记载中查找,范围也大大缩小了。 
Consumer如何消费数据

Kafka中的Consumer通过以下步调来消费数据:
综上所述,Kafka的Consumer通过上述流程高效地从Broker拉取并处理数据,这些特性使得Kafka可以或许在高吞吐量和可扩展性方面表现精彩,恰当处理大规模数据流的场景。
Kafka中的逾期数据处理机制

 kafka作为一个消息中心件,是必要定期处理数据的,否则磁盘就爆了。
处理的机制


删除逾期的日记的方式

Kafka通过日记清理机制来删除逾期的日记,主要依赖于两个配置参数来实现这一功能:

别的,在Kafka 0.9.0及更高版本中,日记清理功能默认是开启的(log.cleaner.enable默以为true)。这意味着Kafka会主动运行清理线程来执行定时清理任务。
综上所述,Kafka通过结合保存时间和清理计谋的配置,实现了对逾期日记的有效管理。这些机制确保了系统资源的公道利用,同时制止了因日记无限增长而导致的潜在问题

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。




欢迎光临 IT评测·应用市场-qidao123.com (https://dis.qidao123.com/) Powered by Discuz! X3.4