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

一、高性能设计

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

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

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

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

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

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

二、零拷贝

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

三、面试题

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

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

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

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

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

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

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

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

相关推荐
肉夹馍不加青椒14 分钟前
第三十三天(信号量)
java·c语言·算法
现在,此刻15 分钟前
面试题储备-MQ篇 2-说说你对RocketMQ的理解
java·rocketmq·java-rocketmq
叽哥23 分钟前
Flutter面试:Dart基础2
flutter·面试·dart
DN金猿30 分钟前
rabbitmq发送的延迟消息时间过长就立即消费了
分布式·rabbitmq
诗句藏于尽头32 分钟前
更改jar素材后打包
java·jar
SimonKing36 分钟前
开源新锐:SQL玩转搜索引擎?Manticore颠覆你的认知
java·后端·程序员
ejinxian1 小时前
MySQL/Kafka数据集成同步,增量同步及全量同步
数据库·mysql·kafka
中国lanwp1 小时前
Jenkins Pipeline中参数化构建
java·jenkins
胡gh1 小时前
聊一聊构建工具:Vite和Webpack
面试·webpack·vite
记录Java学习的三木2 小时前
Java:将视频上传到腾讯云并通过腾讯云点播播放
java