mirror of https://github.com/dapr/docs.git
49 lines
1.7 KiB
Markdown
49 lines
1.7 KiB
Markdown
# Setup a Dapr pub/sub
|
|
|
|
Dapr integrates with existing message buses to provide apps with the ability to create event-driven, loosely coupled architectures where producers send events to consumers via topics.
|
|
Currently, Dapr supports the configuration of one message bus per cluster.
|
|
|
|
Pub/Sub message buses are extensible and can be found in the [components-contrib repo](https://github.com/dapr/components-contrib).
|
|
|
|
A pub/sub in Dapr is described using a `Component` file:
|
|
|
|
```yml
|
|
apiVersion: dapr.io/v1alpha1
|
|
kind: Component
|
|
metadata:
|
|
name: messagebus
|
|
spec:
|
|
type: pubsub.<NAME>
|
|
metadata:
|
|
- name: <KEY>
|
|
value: <VALUE>
|
|
- name: <KEY>
|
|
value: <VALUE>
|
|
...
|
|
```
|
|
|
|
The type of message bus is determined by the `type` field, and things like connection strings and other metadata are put in the `.metadata` section.
|
|
Even though you can put plain text secrets in there, it is recommended you use a [secret store](../../concepts/components/secrets.md).
|
|
|
|
## Running locally
|
|
|
|
When running locally with the Dapr CLI, a component file for a Redis Streams pub/sub will be automatically created in a `components` directory in your current working directory.
|
|
|
|
You can make changes to this file the way you see fit, whether to change connection values or replace it with a different pub/sub.
|
|
|
|
## Running in Kubernetes
|
|
|
|
Dapr uses a Kubernetes Operator to update the sidecars running in the cluster with different components.
|
|
To setup a pub/sub in Kubernetes, use `kubectl` to apply the component file:
|
|
|
|
```bash
|
|
kubectl apply -f pubsub.yaml
|
|
```
|
|
|
|
## Reference
|
|
|
|
- [Setup Redis Streams](./setup-redis.md)
|
|
- [Setup NATS](./setup-nats.md)
|
|
- [Setup Azure Service bus](./setup-azure-servicebus.md)
|
|
- [Setup RabbitMQ](./setup-rabbitmq.md)
|