1、点对点模式

消息发送者生产消息发送到消息队列中,然后消息接受者从消息队列中取出并消费消息。消息以后,消息队列中不再有存储,所以消息接收者不可能消费到已经被消费的消息。一个消费者消费一个消息。

消息队列的两种模型_发布订阅

点对点模式特点

每个消息只有一个接收者,即一旦被消费,消息就不再消息队列中。

发送者和接收者没有依赖性,发送者发送消息后,不管有没有接收者在运行,都不会影响到发送者下次发送消息。

接收者在成功接收消息后还需要向队列应答成功,以便队列删除当前接收的消息。

2、发布订阅模式

多个消费者可以消费一个消息。

消息队列的两种模型_发布订阅_02

发布订阅模式特点

每个消息可以有多个订阅者。

发布者和订阅者之间有时间上的依赖性。针对某个主题topic的订阅者,它必须创建一个订阅者之后,才能消费发布者的消息。

为了消费消息,订阅者需要提前订阅该角色主题,并保持在线运行。

欢迎批评指正,提出问题,谢谢!