本文档简要介绍了发布消息。
发布消息工作流
为了通过 Pub/Sub 发布消息,发布者应用会创建 并向主题发送消息。
- 创建一条包含您的数据的消息。
- 选择任何可选的发布属性。
- 向 Pub/Sub 服务器发送请求以发布消息 与指定主题相关联。
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"
}