发布消息概览

本文档简要介绍了发布消息。

发布消息工作流

为了通过 Pub/Sub 发布消息,发布者应用会创建 并向主题发送消息。

  1. 创建一条包含您的数据的消息。
  2. 选择任何可选的发布属性。
  3. 向 Pub/Sub 服务器发送请求以发布消息 与指定主题相关联。
  4. Pub/Sub 服务接收消息并按如下方式对其进行处理:

    • 系统会存储该消息以进行分发。

    • 系统会将消息复制到多个可用区,以实现持久性和高可用性。

    • Pub/Sub 会识别与消息主题匹配的订阅的订阅者,并向每个订阅者传送消息的副本。

Pub/Sub 至少提供一次消息传送并尽力排序 现有订阅者。

如需简要了解 Pub/Sub 系统,请参阅 Pub/Sub 服务概览

有关 Pub/Sub 工作原理的说明 请参阅 Pub/Sub 的架构概览

主题简介

Pub/Sub 主题是代表消息信息流的命名资源。发布者在发送消息时,它会定位特定主题。Pub/Sub 服务会使用此主题名称将消息路由到附加到该主题的所有订阅。如果某个订阅有多个订阅者,则该订阅中只有一位订阅者会收到消息。

发布者无需知道订阅者数量。它们专注于主题,确保消息发送和消息接收之间的分离。

主题中的数据复制

Pub/Sub 主题使用三个可用区来存储数据。服务 支持同步复制到至少两个可用区, 复制到另一个第三个可用区Pub/Sub 复制功能 在一个区域内运行

主题的属性

在创建或更新主题时,您可以指定 主题属性

关于消息

Pub/Sub 消息是指通过服务移动的数据。

消息由包含消息数据和元数据的字段组成。下列其中一项 。

  • 消息数据:这是消息的核心内容,可以是任何文本或二进制数据。它表示 您希望在发布者和订阅者之间进行通信如果您使用的是 直接使用 REST API, 消息数据必须采用 base64 编码。 请参阅 REST 标签页中发布消息部分中的示例。

  • 排序键:这是 表示必须对其订购消息的实体的标识符。 具有相同排序键的消息应传送给 按发布顺序排列订阅者排序键只是 。如需详细了解如何对键进行排序,请参阅排序消息

  • 属性:这些是可选的键值对,用于提供有关消息的其他背景信息和信息。它们可用于路由 过滤或丰富邮件内容。例如,您可以添加 属性(例如时间戳或交易 ID)。 如需详细了解发布消息时使用的属性,请参阅 使用属性发布消息

Pub/Sub 服务将以下字段添加到消息中:

  • 主题专属的消息 ID
  • Pub/Sub 服务接收消息的时间的时间戳

例如,以下是 JSON 消息格式

{
  "data": "This is the core message content.",
  "attributes": {
    "category": "notification",
    "user_id": "12345",
    "priority": "medium"
  },
    "orderingKey": "12345"
}

后续步骤