发布/订阅代理

Dapr 支持与发布/订阅消息总线的集成,为应用程序提供创建事件驱动、松耦合架构的能力,生产者通过主题向消费者发送事件。

Dapr 允许为每个应用程序配置多个具名的发布/订阅组件。每个组件都有一个名称,用于在发布消息主题时识别。阅读 API 参考 了解如何发布和订阅主题的详细信息。

发布/订阅组件是可扩展的。支持的组件列表在这里,实现可以在 components-contrib 仓库中找到。

组件文件

发布/订阅通过 Component 文件描述:

apiVersion: dapr.io/v1alpha1
kind: Component
metadata:
  name: pubsub
  namespace: default
spec:
  type: pubsub.<NAME>
  version: v1
  metadata:
  - name: <KEY>
    value: <VALUE>
  - name: <KEY>
    value: <VALUE>
...

发布/订阅的类型由 type 字段指定,连接字符串和其他元数据等属性放在 .metadata 部分。尽管元数据值可以包含明文的 secret,建议您通过 secretKeyRef 使用 secret 存储 来管理这些 secret。

虽然所有发布/订阅组件都支持 consumerID 元数据,但如果您未提供,运行时会自动生成一个消费者 ID。所有组件元数据字段值可以使用 模板化元数据值,这些值在 Dapr sidecar 启动时解析。例如,您可以选择使用 {namespace} 作为 consumerGroup,以便在不同命名空间中使用相同的 appId 使用相同的主题,如本文所述。

访问本指南获取配置和使用发布/订阅组件的说明。

相关链接


HowTo: 配置具有多个命名空间的 Pub/Sub 组件

使用 Dapr Pub/Sub 与多个命名空间