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

一、高性能设计

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

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

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

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

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

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

二、零拷贝

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

三、面试题

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

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

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

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

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

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

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

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

相关推荐
一点程序8 分钟前
基于SpringBoot的选课调查系统
java·spring boot·后端·选课调查系统
C雨后彩虹10 分钟前
计算疫情扩散时间
java·数据结构·算法·华为·面试
2601_9498095914 分钟前
flutter_for_openharmony家庭相册app实战+我的Tab实现
java·javascript·flutter
vx_BS8133043 分钟前
【直接可用源码免费送】计算机毕业设计精选项目03574基于Python的网上商城管理系统设计与实现:Java/PHP/Python/C#小程序、单片机、成品+文档源码支持定制
java·python·课程设计
2601_9498683643 分钟前
Flutter for OpenHarmony 电子合同签署App实战 - 已签合同实现
java·开发语言·flutter
蒹葭玉树1 小时前
【C++上岸】C++常见面试题目--操作系统篇(第二十八期)
linux·c++·面试
达文汐1 小时前
【困难】力扣算法题解析LeetCode332:重新安排行程
java·数据结构·经验分享·算法·leetcode·力扣
培风图南以星河揽胜1 小时前
Java版LeetCode热题100之零钱兑换:动态规划经典问题深度解析
java·leetcode·动态规划
启山智软2 小时前
【中大企业选择源码部署商城系统】
java·spring·商城开发
我真的是大笨蛋2 小时前
深度解析InnoDB如何保障Buffer与磁盘数据一致性
java·数据库·sql·mysql·性能优化