搜索
查看
编辑修改
首页
UNITY
NODEJS
PYTHON
AI
GIT
PHP
GO
CEF3
JAVA
HTML
CSS
搜索
我家自动化
这个屌丝很懒,什么也没留下!
关注作者
热门标签
jquery
HTML
CSS
PHP
ASP
PYTHON
GO
AI
C
C++
C#
PHOTOSHOP
UNITY
iOS
android
vue
xml
爬虫
SEO
LINUX
WINDOWS
JAVA
MFC
CEF3
CAD
NODEJS
GIT
Pyppeteer
article
热门文章
1
JAVA实现字符串反转(Reverse)的方法(没有最快,只有更快)_java reverse
2
IntelliJ IDEA 2023.2安装与激活_idea 2023.2激活
3
微网双层优化 综合能源 matlab 按照文献方法对冷热电微网系统进行双层优化,以储能和微网运行成本最低为目标函数,分别考虑短时间尺度和长时间尺度运行优化问题
4
Doris和Flink在实时数仓实践_doris flink
5
快速使用 Elasticsearch+PAI 部署 AI 大模型知识库对话_ai知识库搭建
6
SQLyog 社区版安装,完全免费的_sqlyog社区版
7
基于微信小程序的校园快递跑腿系统
8
基于 Kubernetes 的容器化区块链平台
9
基于Springboot实现房屋租赁租房系统【源码+论文】_基于springboot的在线房屋租赁平台的设计与实现
10
CrossFormer:A Versatile Vision Transformer Based on Cross-Scale Transformer论文以及代码解析_crossformer代码
当前位置:
article
> 正文
kafka 高吞吐设计分析
作者:我家自动化 | 2024-04-10 11:17:32
赞
踩
kafka 高吞吐设计分析
说明
本文基于 kafka 2.7 编写。
@author
blog.jellyfishmix.com
/
JellyfishMIX - github
LICENSE
GPL-2.0
概括
支撑
kafka
高吞吐的设计主要有以下几个方面:
网络
nio
主从 reactor 设计模式
顺序写。
零拷贝。
producer
producer 开启压缩后是批量压缩,broker 不解压没有解压消耗,consumer 批量拉取并解压,实现端到端压缩。
broker
网络 nio 主从 reactor
设计模式
nio 主从 reactor 模式和 tomcat, netty 类似。nio 主从 reactor 模式请见文章: https://blog.csdn.net/weixin_43735348/article/details/128445926
采用主从 reactor 的原因: acceptor 线程专门负责建立连接, selector 线程。acceptor 和 selector 线程资源隔离,且两个资源各自可以根据压力扩展线程数。
顺序读写
kafka 写日志文件的时候用的是追加消息的形式,只在文件尾部顺序写消息。读时在文件头部顺序读取消息。不涉及修改消息,所以不需要随机写。
这样的设计即使用的是传统机械硬盘,访问速度也快。操作系统和硬件对顺序写和顺序读有优化,具体采用的是后写和预读(读时连带读出附近的页)。另外机械硬盘磁针寻址也对顺序读写更友好,对于机械硬盘大概顺序写比随机写快 3 个数量级。
零拷贝
非零拷贝发送数据过程: 用户执行系统调用读磁盘,用户态切换成内核态。硬盘上的数据通过 DMA 读入内核空间后,cpu 拷贝至用户空间,切换回用户态。执行网络 IO 系统调用,用户态切换成内核态,cpu 拷贝数据至内核空间(socket 缓存),通过 DMA 写入网卡。
存在两次 cpu 拷贝和两次内核态用户态切换浪费。
零拷贝基于操作系统提供的系统调用 – sendfile()。用户执行系统调用切换至内核态,DMA 从硬盘拷贝数据至内核空间,socket 缓存写入内核空间中数据的地址等描述信息。由 DMA 把数据从内核空间传递至网卡。这样可节约两次 cpu 的拷贝开销。
声明:
本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:
https://www.wpsshop.cn/w/我家自动化/article/detail/398368
推荐阅读
article
Kafka
-
消费
进度
监控
(
Consumer
Lag
)_
kafka
lag...
Kafka
-
消费
进度
监控
(
Consumer
Lag
)_
kafka
lag
kafka
lag ...
赞
踩
article
云
原生
最佳实践系列 5:
基于
函数计算 FC 实现
阿里
云
Kafka
消息
内容控制
MongoDB
D...
在大数据 ETL 场景,将
Kafka
中的
消息
流转到其他下游服务是很常见的场景,除了常规的
消息
流转外,很多场景还需要基...
赞
踩
article
「
Kafka
」
监控
、
集成
篇
_
kafka
eagl
部署...
Kafka
-Eagle
监控
、
Kafka
-Kraft 模式、
Kafka
集成
Flume、
Kafka
集成
Flink、...
赞
踩
article
【
Kafka
】
Kafka
如何开启
SSL
控制台
消费与生产 代码消费与生产
_
九师兄
ssl
...
在
Kafka
0.9.0.0之后,
Kafka
社区增加了一系列的功能,其中包含对
Kafka
集群进行安全管控。Broker与...
赞
踩
article
【
Kafka
】
Kafka
监控
工具
Kafka
-
eagle
简介...
Kafka
-
eagle
是一种基于Web的开源管理
工具
,可以用来
监控
、管理多个
Kafka
集群。下面是使用Docker部署K...
赞
踩
article
Kafka
——
管理
Kafka
(
命令行
工具
)详解_
kafka
管理
...
有时候,我们需要知道提交的消费者群组偏移量是多少,比如某个特定的群组是否在提交 偏移量,或者偏移量提交的频度。也就是说,...
赞
踩
article
【
Flink
实战系列】
Flink
+
kafka
+
redis
实时
计算
wordcount
_
flink
...
上一篇中我们在本地跑了一个
wordcount
,今天我们写一个流式的
计算
wordcount
,读取
kafka
的数据进行实时的...
赞
踩
article
【
Flink
实战系列】
Flink
如何动态写入
kafka
的
多个
topic
_
flink
将 输出...
昨天在群里一个同学问了这样一个问题,
Flink
怎么根据数据里面
的
某个字段动态把数据写入
多个
kafka
的
topic
.其实这...
赞
踩
article
flink
1.15消费
kafka
之
checkpoint
一_
flink
kafka
checkpoi...
flink
1.15源码实践_
flink
kafka
checkpoint
flink
kafka
checkpoint
...
赞
踩
article
轻松通关
Flink
第
24
讲:
Flink
消费
Kafka
数据业务
开发_
flink
kafka
...
这一课时介绍了
Flink
消费
Kafka
的方式,比如从常用的指定单个或者多个 Topic、消息的序列化、分区的动态...
赞
踩
article
Mac
快捷
安装
brew
和使用
brew
部署
kafka
_
brew
kafka
...
一、一条命令
安装
brew
安装
命令:/bin/zsh -c "$(curl -fsSL https://gitee.com...
赞
踩
article
Apache
Kafka
Connect
JNDI
注入漏洞复现(CVE-2023-25194)_cv...
在
Apache
Kafka
Connect
中存在
JNDI
注入漏洞,当攻击者可访问
Kafka
Connect
Worker...
赞
踩
article
CVE
-2023-25194漏洞
Apache
Kafka
Connect
JNDI
注入漏洞...
CVE
-2023-25194漏洞_cve-2023-25194cve-2023-25194 Ap...
赞
踩
article
Kafka
ui
搭建以及
使用
_
kafka
-
ui
...
kafka
本身没有自带相关的
ui
界面,但是很多时候没有页面意味着只有
使用
命令行进行相关操作如创建 topic、更改...
赞
踩
article
Kafka
-UI_ui
for
apache
kafka
...
kafka
-UI_ui
for
apache
kafka
ui
for
apache
kafka
...
赞
踩
article
kafka
集群
介绍+部署
Filebeat
+
Kafka
+ELK_
kakfa
集群
...
是最初由 Linkedin 公司开发,是一个分布式、支持分区的(partition)、多副本的(replica),基于 ...
赞
踩
article
05、
Kafka
------ 各个功能的作用解释(
主题
和
分区
详解,用命令行和
图形界面
创建
主题
和查...
05、
Kafka
------ CMAK 各个功能的作用解释(
主题
和
分区
详解,用命令行和
图形界面
创建
主题
和
查看
主题
)_...
赞
踩
article
Kafka
UI
:简化您
的
消息
队列
管理
体验_
apache
kafka
ui...
Kafka
UI
是一个基于Web
的
界面,旨在简化
Kafka
集群
的
管理
和监控。它提供了直观
的
用户界面,可以方便地查看和操作...
赞
踩
article
UI
for
Apache
Kafka...
UI
for
Apache
Kafka_ui
for
apache kafkaui
for
apache kafka ...
赞
踩
article
kafka
UI
工具部署介绍...
kafka
Map、
kafka
eagle、Know Streaming、Kafka-
UI
四款
UI
工具部署测试_kafk...
赞
踩
相关标签
kafka
分布式
消费者
消费 监控
Lag
consumer
stream
云原生
阿里云
中间件
java
ssl
大数据
flink
redis
RedisSink
flinkstreaming