消息中间件篇之Kafka-高性能设计

一、高性能设计

消息分区:不受单台服务器的限制,可以不受限的处理更多的数据。

顺序读写:磁盘顺序读写,提升读写效率。

页缓存:把磁盘中的数据缓存到内存中,把对磁盘的访问变为对内存的访问。

**零拷贝:**减少上下文切换及数据拷贝。

消息压缩:减少磁盘IO和网络IO。

分批发送:将消息打包批量发送,减少网络开销。

二、零拷贝

  1. 我们在linux操作系统下进行的普通拷贝。(4次拷贝)
  1. kafka使用的零拷贝。(2次拷贝)

三、面试题

面试官:Kafka中实现高性能的设计有了解过嘛?

候选人:Kafka 高性能,是多方面协同的结果,包括宏观架构、分布式存储、ISR 数据同步、以及高效的利用磁盘、操作系统特性等。主要体现有这么几点:

消息分区:不受单台服务器的限制,可以不受限的处理更多的数据。

顺序读写:磁盘顺序读写,提升读写效率。

页缓存:把磁盘中的数据缓存到内存中,把对磁盘的访问变为对内存的访问。

零拷贝:减少上下文切换及数据拷贝。

消息压缩:减少磁盘IO和网络IO。

分批发送:将消息打包批量发送,减少网络开销。

相关推荐
奋斗的小乌龟1 小时前
动态创建Agent02
java
ZFSS1 小时前
Localization Translate API 集成与使用指南
java·服务器·数据库·人工智能·mysql·ai编程
摇滚侠1 小时前
Java 零基础全套教程,集合框架,笔记 153-163
java·开发语言·笔记
nannan12321 小时前
后端技术栈梳理
java
不知名的忻2 小时前
B 树与 B+ 树:面试完全指南
b树·算法·面试·b+树
L、2182 小时前
CANN算子开发调试实战:从“Segmentation Fault“到定位根因的完整流程
java·开发语言
索木木3 小时前
NCCL SHARP 和 TREE算法
java·服务器·算法
NiceCloud喜云3 小时前
Claude Files API 深入:从上传、复用到配额管理的工程化指南
android·java·数据库·人工智能·python·json·飞书
刀法如飞3 小时前
《道德经》简单解说版-第 2 章:天下皆知美之为美
前端·后端·面试
Raink老师4 小时前
【AI面试临阵磨枪-59】企业内部 AI 系统权限、数据隔离、审计设计
人工智能·面试·职场和发展