RabbitMQ,RocketMQ,Kafka 消息模型对比分析

消息模型

消息队列的演进

消息队列模型

早期的消息队列是按照”队列”的数据结构来设计的。

生产者(Producer)产生消息,进行入队操作,消费者(Consumer)接收消息,就是出队操作,存在于服务端的消息容器就称为消息队列。

RabbitMQ,RocketMQ,Kafka 消息模型对比分析

当然消费者也可能不止一个,存在的多个消费者是竞争的关系,消息被其中的一个消费者消费了,其它的消费者就拿不到消息了。

发布订阅模型

如果一个人消息想要同时被多个消费者消费,那么上面的队列模式就不适用了,于是又引出了一种新的模式,发布订阅模型。

RabbitMQ,RocketMQ,Kafka 消息模型对比分析_第1张图片

在发布-订阅模型中,消息的发送方称为发布者(Publisher),消息的接收方称为订阅者(Subscriber),服务端存放消息的容器称为主题(Topic)。

发布者发送消息到主题中,然后订阅者需要先订阅主题。订阅主题的订阅者之后就可以收到发送者发送的消息了。

你可能感兴趣的:(java,Java程序员,消息模型,开发语言,程序人生)