跳到主要内容

消息传递模式

PubSub+事件代理支持以下类型的消息传递:

  • 可靠消息送达
  • 保证消息送达

可靠消息送达

可靠消息送达适用于能够容忍偶尔消息丢失的高比特率或非常低延迟的消息应用程序。生产者可以将消息发布到主题,并且当消息被事件代理接收时,它们可以高效地被传递给大量匹配主题订阅的客户端。直接消息传递具有以下特点:

  • 客户端直接订阅主题。
  • 当客户端未连接到事件代理或事件代理服务时,不会为客户保留消息。
  • 在遇到拥塞或系统故障时,消息可能会被丢弃。
  • 消息传递后不会发送确认。

img

要了解更多信息,请参阅直接消息

保证消息送达

保证消息送达最适合需要持久存储他们发送或打算接收的消息的应用程序。

保证消息送达具有以下特点:

  • 主题订阅与代理上的端点相关联,而不是消耗客户端。
  • 一旦消息被事件代理确认,消息就不能丢失。
  • 当消息被传递到持久端点时,它们会被保留直到被客户端消费。
  • 向客户端的传递需要确认。

要了解更多信息,请参阅保证消息

发布保证消息

当客户端向主题发布保证消息,并且事件代理有一个匹配的订阅端点时,消息和匹配订阅的列表会被存储或在代理上持久化处理。在确认收到消息后,事件代理尝试将消息传递给所有匹配的消费者。每个消费者确认收到消息后,与消息相关的匹配会从消息的匹配列表中删除。一旦与消息相关联的匹配全部消失,消息本身就会从代理中删除。

img

接收保证消息

消息被传递给绑定到接收保证消息端点的消费者。这些消息在事件代理上持久化,直到它们过期,或直到消费客户端确认消息表示它们已被消费。

img


现在让我们继续了解主题端点和队列