跳到主要内容

接收消息

Go 的 PubSub+ 消息 API 允许客户端消费发布到他们订阅的任何主题的消息。

img

接收者可以通过以下方式从事件代理消费消息:

使用 Go API 消费直接消息

直接消息提供了一种可靠的消息传递方式,但不能保证消息一定会被投递。直接消息是“最多一次”投递的。当事件代理有匹配该客户端主题订阅时,直接消息可以投递给一个客户端会话。直接消息与持久消息不同,因为它们:

  • 是“最多一次”投递的
  • 当客户端未连接到事件代理时,不会为该客户端保留
  • 在遇到拥塞或系统故障时可能会被丢弃
  • 投递时不进行确认

使用 Go API 消费持久消息

持久消息(也称为保证消息)可用于确保两个应用程序之间消息的投递。持久消息是“至少一次”投递的,在接收应用程序可能会断开连接,但不能容忍消息丢失的情况下非常有用。要接收持久消息,客户端必须创建一个消费者流,以绑定到事件代理上的持久或非持久队列,发布的消息会存储在消息池中。客户端应用程序绑定到队列后,并且有一个活跃的消费者流(即消息正在通过该流投递),就可以从队列中消费持久消息。