消息队列的模式

一.简介

   消息队列包括两种模式,点对点模式(point to point queue)和发布/订阅模式(publish/subscribe,topic)。

二.点对点模式

  点对点模式包括三个角色:消息队列、发送者(生产者)、接收者(消费者)。

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

  点对点模式特点:

  1.每个消息只有一个接收者(Consumer),一旦被消费,消息就不再存在于消息队列中。

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

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

三.发布/订阅模式

  发布/订阅模式下包括三个角色:角色主题(Topic)、发布者(Publisher)、订阅者(Subscriber)。

   发布者将消息发送到Topic,系统将这些消息传递给多个订阅者。

  发布/订阅模式特点:

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

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

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

原文地址:https://www.cnblogs.com/shadoll/p/14614344.html