发布订阅的基本工作原理
点对点模式: 虽然支持多个消费者,但是一个消息只能被一个消费者消费,不允许重复消费
发布订阅模式:消息中心通常以主题进行划分,每条消息都会有相应的主题,消息被存储到自己所属的主题中,订阅该主题的所有消费者均可以获取该消息
Kafka发布订阅原理及工作机制
基本架构
zookeeper集群统一协调和管理kafka组件,并存储一些元数据信息
Broker和Consumer
分区:
一个主题被划分成多个集合,分布在不同的broker上,不同的broker分布在不同的节点上。好处:
1. 实现负载均衡,避免单个broker的负载过高
2.实现消息的备份,从而保证系统的高可靠
分组:
消费组是多个消费者的集合,一个消费组中的消费者共同消费主体消息,并主题中的每个消息只能由消费组中的某一个消费组进行消费。主要目的是为了防止在消息过多的情况下,单个消费组消费能力有限时,导致消费效率过低
发布订阅的基本特征
1.实现了系统解耦,易于维护
2.实现了异步执行,避免高负载
观察者模式与发布订阅模式对比
观察者模式中观察者和被观察者之间直接交互,发布订阅模式中加入了消息中心,实现的是间接通信