问题描述
Dapr 已经允许我们subscribe multiple apps to a topic declaratively。
但我们能否仅使用一个 subscription.yaml
文件以声明方式为应用订阅多个主题?
类似于:
apiVersion: dapr.io/v1alpha1
kind: Subscription
Metadata:
name: myevent-subscription
spec:
- topic: newOrder
route: /orders
pubsubname: pubsub
- topic: newProduct
route: /productCatalog/products
pubsubname: pubsub
scopes:
- myapp
我知道如何subscribe an app to multiple topics programmatically,但是“声明式方法从您的代码中删除了 Dapr 依赖项,并允许例如现有应用程序订阅主题,而无需更改代码 “¹ 这就是我想要的。
解决方法
您应该能够在一个文件中包含多个订阅条目,当然对于 Kubernetes 部署来说,就像这样。
apiVersion: dapr.io/v1alpha1
kind: Subscription
metadata:
name: orders-subscription
spec:
topic: newOrder
route: /orders
pubsubname: pubsub
scopes:
- app1
- app2
---
apiVersion: dapr.io/v1alpha1
kind: Subscription
metadata:
name: products-subscription
spec:
topic: newProduct
route: /productCatalog/products
pubsubname: pubsub
scopes:
- app1
- app2