你弄懂Kafka使用什么性能策略吗

阅读: 评论:0

你弄懂Kafka使用什么性能策略吗

你弄懂Kafka使用什么性能策略吗

本文是我研究Kafka的一点心得,欢迎指出纰漏
更多访问 我的博客

前言

Kafka 作为愈加流行的流处理平台,让人好奇它为何如此受人青睐,盛名之下无虚士,我从性能角度来探索 Kafka 的奥妙。

明确Kafka的性能阵地

首先,明确研究问题的方向。Kafka 是一个分布式的流式数据平台

它的重要功能有:

  • 消息系统,提供事件流的发布与订阅
  • 持久化存储,避免消费者节点故障的容错功能
  • 流处理,如流的聚合、连接,具象来说是处理乱序/延迟的数据、窗口、状态等操作

在大数据需求背景下,Kafka 必然要对以上功能进行性能优化,性能的优化要点/瓶颈在于:

  • 数据流的传输效率
  • 生产者批量发送消息,消费者拉取消息的过程,消息的实时性、可靠性、吞吐量
  • 平台级别的持久化存储方案,高容错,多节点备份

数据流的传输效率

利用操作系统的IO优化技术,脱离JVM的内存局限。

为什么从操作系统说起呢?人们每天都在使用操作系统,反而普遍忽略的操作系统的作用,让我们回想起来,操作系统的一大作用是消除硬件差异,为用户程序提供统一标准的API,由此,大部分人使用IO停留在调用系统的 read/write,后端工程师则会更多了解 NIO 的 epoll/kqueue。仅此而已了吗? 让我们看看下面优化策略:

磁盘IO的优化策略 mmap

实际上,现代的操作系统已经对磁盘IO做了复杂的优化,Linux 下有一个常见的缩写名词 vfs,即虚拟文件系统(virtual file system),它对内存与外存(磁盘)进行映射,使读写速度得到提升,比如以下且不限于:

  • 预读(read-ahead),提前将较大的磁盘块载入内存,用户程序读取该磁盘上数据的效率,就等同将内核的内存拷贝到用户程序分配的内存上的速度
  • 后写(write-behind),一定次数的小的逻辑写操作会映射到磁盘缓存(

本文发布于:2024-02-02 16:14:23,感谢您对本站的认可!

本文链接:https://www.4u4v.net/it/170686166244946.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:性能   策略   Kafka
留言与评论(共有 0 条评论)
   
验证码:

Copyright ©2019-2022 Comsenz Inc.Powered by ©

网站地图1 网站地图2 网站地图3 网站地图4 网站地图5 网站地图6 网站地图7 网站地图8 网站地图9 网站地图10 网站地图11 网站地图12 网站地图13 网站地图14 网站地图15 网站地图16 网站地图17 网站地图18 网站地图19 网站地图20 网站地图21 网站地图22/a> 网站地图23