什么是 Pub/Sub?

Pub/Sub 是一种异步且可伸缩的通讯服务,可将生成消息的服务与处理这些消息的服务分离开来。

Pub/Sub 允许服务进行异步通信,延迟时间通常在 100 毫秒左右。

Pub/Sub 用于流式分析和数据集成流水线,以加载和分发数据。它同样适合用作服务集成的面向消息传递的中间件,或者并行执行任务的队列。

借助 Pub/Sub,您可以创建由事件提供方和使用方(称为发布者和订阅者)组成的系统。发布者通过广播事件而不是同步远程过程调用 (RPC) 与订阅者异步通信。

发布者将事件发送到 Pub/Sub 服务,不考虑这些事件的处理方式或处理时间。然后,Pub/Sub 会将事件传送给做出响应的所有服务。在通过 RPC 通信的系统中,发布者必须等待订阅者接收数据。但是,Pub/Sub 中的异步集成提高了整个系统的灵活性和稳健性。

如需开始使用 Pub/Sub,请参阅快速入门:使用 Google Cloud 控制台。如需更全面的介绍,请参阅构建 Pub/Sub 消息传递系统。

常见使用场景

  • 注入用户互动和服务器事件。如需使用来自最终用户应用的用户互动事件或来自系统的服务器事件,您可以将其转发到 Pub/Sub。然后,您可以使用流处理工具将事件传送到数据库。 Pub/Sub 可让您同时从多个客户端收集事件。
  • 实时事件分布。事件(原始或已处理)可供团队和组织中的多个应用进行实时处理。Pub/Sub 支持“企业事件总线”和事件驱动型应用设计模式。借助 Pub/Sub,您可以与许多将事件导出到 Pub/Sub 的系统集成。
  • 在数据库之间复制数据。Pub/Sub 通常用于分发来自数据库的更改事件。这些事件可用于构建数据库状态和状态历史记录的视图。
  • 并行处理和工作流。您可以使用 Pub/Sub 消息与工作器通信,从而在多个工作器之间高效分配许多任务。此类任务的示例包括压缩文本文件、发送电子邮件通知、评估 AI 模型和重新设置图片格式。
  • 企业事件总线。您可以创建企业级实时数据共享总线,在整个组织中分发业务事件、数据库更新和分析事件。
  • 来自应用、服务或 IoT 设备的数据流。 例如,SaaS 应用可以发布实时事件 Feed。或者,住宅传感器可以将数据流式传输到 Pub/Sub,以便通过数据处理流水线在其他 Google Cloud 产品中使用。
  • 刷新分布式缓存。例如,应用可以发布失效事件,以更新已更改对象的 ID。
  • 进行负载均衡来实现可靠性。 例如,服务的实例可以部署在多个可用区的 Compute Engine 上,但订阅一个共同的主题。当服务在任何可用区中发生故障时,其他可用区可以自动接管负载。

后续步骤