kafka为什么快

消息发送

1、批量发送: Kafka 通过将多个消息打包成一个批次,减少了网络传输和磁盘写入的次数,从而提高了消息的吞吐量和传输效率。

2、异步发送: 生产者可以异步发送消息,不必等待每个消息的确认,这大大提高了消息发送的效2.率

3、消息压缩: 支持对消息进行压缩,减少网络传输的数据量

4、并行发送: 通过将数据分布在不同的分区 (Partitions)中,生产者可以并行发送消息,从而提高

了吞吐量。

消息存储

1、零拷贝技术:Kafka 使用零拷贝技术来避免了数据的拷贝操作,降低了内存和 CPU 的使用率,提高了系统的性能

2、顺序写磁盘:Kafka把消息存储在磁盘上,且以顺序的方式写入数据。顺序写入比随机写入速度快很多,因为它减少了磁头寻道时间。避免了随机读写带来的性能损耗,提高了磁盘的使用效率

3、页缓存: Kafka 将其数据存储在磁盘中,但在访问数据时,它会先将数据加载到操作系统的页缓存中,并在页缓存中保留一份副本,从而实现快速的数据访问

4、分区和副本:Kafka 采用分区和副本的机制,可以将数据分散到多个节点上进行处理,从而实现了分布式的高可用性和负载均衡

消息消费

1、并行消费:不同的消费者可以独立消费不同的分区,实现消费并且处理

2、批量拉取:kafka支持批量拉取消息,可以一次性拉取多个消息进行消费,减少网络消耗,提升性能

相关推荐
无心水4 小时前
【任务调度:数据库锁 + 线程池实战】3、 从 SELECT 到 UPDATE:深入理解 SKIP LOCKED 的锁机制与隔离级别
java·分布式·科技·spring·架构
百锦再5 小时前
Java中的char、String、StringBuilder与StringBuffer 深度详解
java·开发语言·python·struts·kafka·tomcat·maven
何中应10 小时前
RabbitMQ安装及简单使用
分布式·后端·消息队列
何中应10 小时前
SpringAMQP消息转化器
分布式·后端·消息队列
indexsunny13 小时前
互联网大厂Java求职面试实战:基于电商场景的技术问答及解析
java·spring boot·redis·kafka·security·microservices·面试指导
百锦再15 小时前
Java中的日期时间API详解:从Date、Calendar到现代时间体系
java·开发语言·spring boot·struts·spring cloud·junit·kafka
Coder_Boy_16 小时前
Java高级_资深_架构岗 核心知识点——高并发模块(底层+实践+最佳实践)
java·开发语言·人工智能·spring boot·分布式·微服务·架构
百锦再18 小时前
Java IO详解:File、FileInputStream与FileOutputStream
java·开发语言·jvm·spring boot·spring cloud·kafka·maven
tod11318 小时前
Redis 分布式锁进阶:从看门狗到 Redlock 的高可用实践
数据库·redis·分布式
百锦再18 小时前
Java InputStream和OutputStream实现类完全指南
java·开发语言·spring boot·python·struts·spring cloud·kafka