消息队列的两种消费模式

第一种:点对点模式

消息队列的两种消费模式_第1张图片

 

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

点对点模式特点

  1.  每个消息只有一个接收者(Consumer)(即一旦被消费,消息就不再在消息队列中)
  2.  发送者和接收者间没有依赖性,发送者发送消息之后,不管有没有接收者在运行,都不会影响到发送者下次发送消息;
  3.  接收者在成功接收消息之后需向队列应答成功,以便消息队列删除当前接收的消息;

 第二种:发布订阅模式

消息队列的两种消费模式_第2张图片

 

发布/订阅模式特点:

  1.  每个消息可以有多个订阅者;
  2.  发布者和订阅者之间有时间上的依赖性。针对某个主题(Topic)的订阅者,它必须创建一个订阅者之后,才能消费发布者的消息。
  3.  为了消费消息,订阅者需要提前订阅该角色主题,并保持在线运行;

 两种模式的区别

  1. 点对点模式:在点对点模式中,消息的发送者(生产者)将消息发送到指定的消息队列,然后消息的接收者(消费者)从队列中接收和消费消息。每条消息只能被一个消费者接收并处理,即一对一的关系。

  2. 发布订阅模式:在发布订阅模式中,消息的发送者将消息发布到特定的主题(topic),而不是直接发送给特定的接收者。消息的接收者可以订阅感兴趣的主题,并接收该主题下的所有消息。每个消息可以被多个订阅者接收,即一对多的关系。

你可能感兴趣的:(kafka,网络,中间件)