当前位置: 首页 > news >正文

97、Kafka的性能好在什么地方

Kafka的性能好在什么地方

  • 一、顺序写
  • 二、零拷贝
  • 三、额外补充

kafka不基于内存,而是硬盘存储,因此消息堆积能力更强

一、顺序写

顺序写 : 利用磁盘的顺序访问速度可以接近内存,kafka的消息都是append操作,partition是有序的,节省了磁盘的寻道时间,同时通过批量操作、节省写入次数,partition物理上分为多个segment存储,方便删除。

传统:

  • 读取磁盘文件数据到内核缓冲区
  • 将内核缓冲区的数据copy到用户缓冲区
  • 将用户缓冲区的数据copy到socket的发送缓冲区
  • 将socket发送缓冲区中的数据发送到网卡、进行传输

二、零拷贝

  • 直接将内核缓冲区的数据发送到网卡传输
  • 使用的是操作系统的指令支持

kafka不太依赖JVM,主要理由操作系统的pageCache,如果生产消费速率相当,则直接用pageCache交换数据不需要经过磁盘 IO

三、额外补充

Kafka的优点包括:

  • 高吞吐量:Kafka的设计目标之一是提供高吞吐量的消息传输,它能够支持每秒数百万条消息的传输。

  • 可扩展性:Kafka的分布式架构可以方便地进行扩展,可以通过增加节点来增加吞吐量和存储容量。

  • 可靠性:Kafka通过将数据复制到多个节点来实现数据冗余和高可用性,即使某个节点故障,也可以保证数据不会丢失。

  • 实时性:Kafka能够快速地处理和传输数据,支持实时数据的处理和分析。

  • 灵活性:Kafka可以与各种不同的数据处理和分析工具集成,包括流处理、批处理、数据挖掘等等。

总之,Kafka是一个高性能、高可靠性、高扩展性的分布式流处理平台,非常适合处理大规模实时数据。

http://www.lryc.cn/news/95242.html

相关文章:

  • (2)前端控制器的扩展配置, 视图解析器类型以及MVC执行流程的概述
  • GO学习之切片操作
  • YOLOv8实战口罩佩戴检测(视频教程)
  • SiddonGpu编译过程记录
  • Ubuntu 20.04使用 VNC远程桌面连接避坑指南
  • STM32MP157驱动开发——按键驱动(定时器)
  • 基于Centos 7虚拟机的磁盘操作(添加磁盘、分区、格式分区、挂载)
  • “完全指南:理解API和商品详情的作用和关系“
  • Spring Cloud Gateway - 新一代微服务API网关
  • HTTP超本文传输协议
  • React+Redux 数据存储持久化
  • Redis高可用部署架构
  • 深度学习与神经网络
  • CPU密集型和IO密集型任务的权衡:如何找到最佳平衡点
  • 超越POSIX:一个时代的终结?
  • 秋招算法备战第22天 | 654.最大二叉树、617.合并二叉树、700.二叉搜索树中的搜索、98.验证二叉搜索树
  • 小程序之移花宫-自定义底部标签图标---【浅入深出系列005】
  • 题目1 SQL注入(保姆级教程)
  • PDF转换成word乱码了怎么办?最实用的方法在这里!
  • 字节跳动后端面试,笔试部分
  • [JavaScript游戏开发] 2D二维地图绘制、人物移动、障碍检测
  • 区间预测 | MATLAB实现基于QRF随机森林分位数回归时间序列区间预测模型
  • .NET网络编程——TCP通信
  • 【Python机器学习】实验01 Numpy以及可视化回顾
  • vue3-组件中的变化
  • 认识主被动无人机遥感数据、预处理无人机遥感数据、定量估算农林植被关键性状、期刊论文插图精细制作与Appdesigner应用开发
  • 数学建模的六个步骤
  • 【计算机组成原理】24王道考研笔记——第二章 数据的表示和运算
  • JQ-6 Bootstrap入门到实战;Bootstrap的(优缺点、安装、响应式容器原理、网格系统、响应式工具类、Bootstrap组件);小项目实践
  • 如何用3D格式转换工具HOOPS Exchange读取颜色和材料信息?