【Java】kafka技术原理解析

前言:有好多同学留言说看不懂我之前写的博客——kafka应用实例篇,不明白里面的代码为什么那么写,我找到了自己之前写的关于kafka技术解析的ppt,现将部分重点及相关原理整理出来供大家参考。

1. 消息队列介绍

【Java】kafka技术原理解析
kafka定义:kafka是一个分布式的基于发布/订阅模式的消息队列(message queue),主要应用于大数据实时处理领域。
消息队列的定义
【Java】kafka技术原理解析
两种模式的区别
【Java】kafka技术原理解析
【Java】kafka技术原理解析
发布订阅模式如何实现实现了负载均衡?
【Java】kafka技术原理解析

2. 流行队列的模型比较

RabbitMQ
【Java】kafka技术原理解析
生产端发送一条消息通过路由投递到Queue,只有一个消费者能消费到。
【Java】kafka技术原理解析
当RabbitMQ需要支持多订阅时,发布者发送的消息通过路由同时写到多个Queue,不同订阅组消费此消息。
Kafka
【Java】kafka技术原理解析

3. Kafka架构

【Java】kafka技术原理解析
【Java】kafka技术原理解析
注意1:一个主题中的一个分区中的消息只能被一个消费者组中的一个消费者消费
【Java】kafka技术原理解析
注意2:但如果是不同的消费者组可以出现:一个分区中的消息可以被不同消费者组中的多个消费者同时消费
【Java】kafka技术原理解析
注意3:当一个消费者组中的消费者数大于分区数时:会造成消费者的资源浪费
【Java】kafka技术原理解析
注意4:当消费者数小于分区数:一个消费者可以同时消费两个消费者组中的消息

4. Kafka生产过程分析

1.写入方式--producer采用推(push)模式将消息发布到broker
【Java】kafka技术原理解析
【Java】kafka技术原理解析

5. Kafka的存储策略

【Java】kafka技术原理解析
【Java】kafka技术原理解析
文件存储方式
【Java】kafka技术原理解析

以上是 【Java】kafka技术原理解析 的全部内容, 来源链接: utcz.com/a/88702.html

回到顶部