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

一、高性能设计

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

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

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

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

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

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

二、零拷贝

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

三、面试题

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

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

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

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

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

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

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

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

相关推荐
小羊没烦恼!3 天前
微服务化的基石——持续集成
java·大数据·word·powerpoint·.net
俊昭喜喜里3 天前
java中的继承和多态的区别
java
小羊没烦恼!3 天前
初探性能优化——2个月到4小时的性能提升
java·开发语言·windows·算法·c#
譕痕3 天前
JSONObject与JSONArray封装数据格式区别
java·json
胡写代码3 天前
别再前后端各写一套表单校验了
java·后端
小鱼能吃糖3 天前
缺陷修复总览 · mall电商项目:5类缺陷,1个病根,4个业务域
java·电商
此时不提桶,更待何时3 天前
01-06-A-JVM排查实战详解
java·jvm
晨米酱3 天前
AGENTS.md:Agent 的上下文策略层
面试·架构·agent
vipxieliang3 天前
ValidX 在 DDD 领域驱动设计中的实践
java·spring boot
ba_pi3 天前
mysql 查询所有表名并授权
java