发布订阅代理

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 部分。 尽管元数据值可以明文形式包含密钥,但建议您使用 secretKeyRef 来引用密钥存储

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

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

相关链接


HowTo: 配置多命名空间的发布订阅组件

在多命名空间中使用 Dapr 发布订阅