首页 > 其他分享 >kafka是如何做到高效读写

kafka是如何做到高效读写

时间:2024-11-11 20:16:49浏览次数:3  
标签:高效 缓存 数据 读写 写入 Kafka 磁盘 kafka PageCache

1)Kafka 本身是分布式集群,可以采用分区技术,并行度高

2)读数据采

1)Kafka 本身是分布式集群,可以采用分区技术,并行度高

2)读数据采用稀疏索引,可以快速定位要消费的数据。(mysql中索引多了之后,写入速度就慢了)

3)顺序写磁盘

Kafka 的 producer 生产数据,要写入到 log 文件中,写的过程是一直追加到文件末端, 为顺序写。官网有数据表明,同样的磁盘,顺序写能到 600M/s,而随机写只有 100K/s。这与磁盘的机械机构有关,顺序写之所以快,是因为其省去了大量磁头寻址的时间。

4)页缓存 + 零拷贝技术

零拷贝:Kafka的数据加工处理操作交由Kafka生产者和Kafka消费者处理。Kafka Broker应用层不关心存储的数据,所以就不用 走应用层,传输效率高

PageCache页缓存:Kafka重度依赖底层操作系统提供的PageCache功 能。当上层有写操作时,操作系统只是将数据写入 PageCache。当读操作发生时,先从PageCache中查找,如果找不到,再去磁盘中读取。实际上PageCache是把尽可能多的空闲内存都当做了磁盘缓存来使用

用稀疏索引,可以快速定位要消费的数据。(mysql中索引多了之后,写入速度就慢了)

3)顺序写磁盘

Kafka 的 producer 生产数据,要写入到 log 文件中,写的过程是一直追加到文件末端, 为顺序写。官网有数据表明,同样的磁盘,顺序写能到 600M/s,而随机写只有 100K/s。这与磁盘的机械机构有关,顺序写之所以快,是因为其省去了大量磁头寻址的时间。

4)页缓存 + 零拷贝技术

零拷贝:Kafka的数据加工处理操作交由Kafka生产者和Kafka消费者处理。Kafka Broker应用层不关心存储的数据,所以就不用 走应用层,传输效率高

PageCache页缓存:Kafka重度依赖底层操作系统提供的PageCache功 能。当上层有写操作时,操作系统只是将数据写入 PageCache。当读操作发生时,先从PageCache中查找,如果找不到,再去磁盘中读取。实际上PageCache是把尽可能多的空闲内存都当做了磁盘缓存来使用

生产者将数据发送给kafka,kafka将数据交给Linux内核,Linux内核将数据放入自身操作系统的页缓存中,然后到一定值写入磁盘,假如消费者过来消费,直接从页缓存中,通过网卡发送给消费者,根本就没有去kafka的业务系统中获取数据,所以速度比较快。

标签:高效,缓存,数据,读写,写入,Kafka,磁盘,kafka,PageCache
From: https://blog.csdn.net/A12345689B/article/details/143693862

相关文章

  • kafka中的数据清理策略
    Kafka中默认的日志(这个地方是数据的意思,就是Segment)保存时间为7天,可以通过调整如下参数修改保存时间。log.retention.hours,最低优先级小时,默认7天。log.retention.minutes,分钟。--如果设置了该值,小时的设置不起作用。log.retention.ms,最高优先级毫秒。--如果设置了......
  • kafka消费者的消费分区策略有哪些,默认是哪个?
    Kafka消费者的分区分配策略主要有以下几种,分别决定了如何将多个分区分配给消费者:1.Range(范围分配)描述:将分区连续地分配给消费者。每个消费者负责一段连续的分区。如果有多个消费者,那么消费者会按照顺序被分配一段连续的分区。适用场景:适用于消费者之间的数据量差异较小,且需......
  • kafka面试题(二)
    1、kafka是如何做到高效读写1)Kafka 本身是分布式集群,可以采用分区技术,并行度高 2)读数据采用稀疏索引,可以快速定位要消费的数据。(mysql中索引多了之后,写入速度就慢了) 3)顺序写磁盘4)页缓存 + 零拷贝技术2、Kafka集群中数据的存储是按照什么方式存储的?缓存存储;日志存......
  • kafka监控
    kafka监控部署kafka使用Prometheus、Grafana和kafka_exporter来构建kafka指标监控问题背景在实时场景下,对于数据积压是很常见的,我们更希望如何去快速知道有没有数据积压,目前消费了多少,速度怎么样,趋势如何。可以使用原生命令kafka-consumer-groups.sh--bootstrap-servernode01......
  • 高效数据集成案例:聚水潭到金蝶云星辰V2
    聚水潭数据集成到金蝶云星辰V2的技术案例分享在企业信息化管理中,数据的高效流动和准确对接是实现业务流程优化的关键。本文将聚焦于一个实际运行的系统对接集成案例:如何将聚水潭平台中的“其他入库单”数据无缝集成到金蝶云星辰V2系统中。本次集成方案命名为“聚水潭-其他入库单......
  • 触想染织厂MES产线终端工位机,打造数字化高效车间
    一、行业发展背景在纺织细分领域中,印染行业一直是整个产业链的效率短板,因其涉及染色、定型及后整理加工等多个复杂工艺、上百个参数变量,质量波动较大,依赖个人经验和手工操作,常常陷入高成本、低效率发展困境。△某印染工厂生产场景二、行业应用需求印染厂......
  • 如何打造高效团队文化:项目管理工具必不可少
    在当今的职场环境中,“高效团队文化”已成为一个热门话题。高效的团队不仅能快速适应项目需求的变化,还能通过顺畅的沟通和高效的执行来确保高质量的成果。而一个成功的团队文化通常离不开三个关键要素:合适的管理工具、有效的沟通机制、以及强大的执行力。建立高效团队文化需要的不......
  • 程序员如何借势AI提高自己:从高效工作到技能升级的全面指南
    又是一年1024,时光荏苒,转眼又到了这个特别的日子。坦白说,这篇文章我其实并不太想写,因为我并没有通过AI找到普适于程序员群体的高效赚钱秘籍。然而,反思过去的工作,我发现利用AI的确让我在工作中变得更加灵活,也因此有了更多时间去思考其他问题。因此,我希望能够分享一些我在使用AI过程......
  • Spark 的容错机制:保障数据处理的稳定性与高效性
    Spark的介绍与搭建:从理论到实践_spark环境搭建-CSDN博客Spark的Standalone集群环境安装与测试-CSDN博客PySpark本地开发环境搭建与实践-CSDN博客Spark程序开发与提交:本地与集群模式全解析-CSDN博客SparkonYARN:Spark集群模式之Yarn模式的原理、搭建与实践-CSDN博客S......
  • 深度解读AI在数字档案馆中的创新应用:高效识别与智能档案管理
    一、项目背景介绍在信息化浪潮推动下,基于OCR技术的纸质档案电子化方案成为解决档案管理难题的有效途径。该方案通过先进的OCR技术,能够统一采集各类档案数据,无论是手写文件、打印文件、复古文档还是照片或扫描的历史资料,都能实现高效识别。利用文档智能分析技术,我们对电子化后的档......