前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Kafka 精妙的高性能设计(下篇)

Kafka 精妙的高性能设计(下篇)

作者头像
用户1263954
发布2022-04-08 12:22:02
1930
发布2022-04-08 12:22:02
举报
文章被收录于专栏:IT技术精选文摘

这是《吃透 MQ 系列》的连载:Kafka 高性能设计的下篇。

上一篇文章 中,指出了高性能设计的两个关键维度:计算和 IO,可以将它们理解成「道」。同时给出了 Kafka 高性能设计的全景图,可以理解成「术」。

图 1:Kafka 高性能设计的全景图

这篇文章将继续对存储消息和消费消息的 8 条高性能设计手段,逐个展开分析,废话不多说,开始发车。

1. 存储消息的性能优化手段

存储消息属于 Broker 端的核心功能,下面是它所采用的 4 条优化手段。

1、IO 多路复用

对于 Kafka Broker 来说,要做到高性能,首先要考虑的是:设计出一个高效的网络通信模型,用来处理它和 Producer 以及 Consumer 之间的消息传递问题。

先引用 Kafka 2.8.0 源码里 SocketServer 类中一段很关键的注释:

通过这段注释,其实可以了解到 Kafka 采用的是:很典型的 Reactor 网络通信模型,完整的网络通信层框架图如下所示:

图 2:Kafka 网络通信层的框架图

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2022-03-28,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 IT技术精选文摘 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
对象存储
对象存储(Cloud Object Storage,COS)是由腾讯云推出的无目录层次结构、无数据格式限制,可容纳海量数据且支持 HTTP/HTTPS 协议访问的分布式存储服务。腾讯云 COS 的存储桶空间无容量上限,无需分区管理,适用于 CDN 数据分发、数据万象处理或大数据计算与分析的数据湖等多种场景。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档