RocketMQ
Detailed documentation on the RocketMQ pubsub component
Component format
To setup RocketMQ pubsub, create a component of type pubsub.rocketmq
. See this guide on how to create and apply a pubsub configuration.
apiVersion: dapr.io/v1alpha1
kind: Component
metadata:
name: rocketmq-pubsub
spec:
type: pubsub.rocketmq
version: v1
metadata:
- name: nameServer
value: "http://localhost:9876"
- name: accessKey
value: "admin"
- name: secretKey
value: "password"
- name: consumerGroup
value: "GID_0001"
- name: retries
value: 10
Warning
The above example uses secrets as plain strings. It is recommended to use a secret store for the secrets as described here.
Spec metadata fields
Field | Required | Details | Example |
---|---|---|---|
accessKey | N | Access Key (Username) | “admin” |
secretKey | N | Secret Key (Password) | “password” |
nameServer | N | Name server address | “127.0.0.1:9876;127.0.0.2:9877” |
nameServerDomain | N | Name server domain | “https://my-app.net:8080/nsaddr“ |
nameSpace | N | Namespace of the producer/consumer | “namespace” |
groupName | N | Producer group name for RocketMQ publishers | “my_unique_group_name” |
consumerGroup | N | Consumer group name for RocketMQ subscribers | “my_unique_group_name” |
content-type | N | Message content-type, e.g., “application/cloudevents+json; charset=utf-8” , “application/octet-stream” | “text/plain” |
retries | N | Number of times to retry to connect rocketmq’s broker, optional | 0 |
sendTimeOut | N | Timeout duration for publishing a message in nanoseconds | 0 |
Setup RocketMQ
See https://rocketmq.apache.org/docs/quick-start/ to setup a local RocketMQ instance.
Per-call metadata fields
Partition Key
When invoking the RocketMQ pub/sub, it’s possible to provide an optional partition key by using the metadata
query param in the request url.
You need to specify rocketmq-tag
,"rocketmq-key"
in metadata
Example:
curl -X POST http://localhost:3500/v1.0/publish/myRocketMQ/myTopic?metadata.rocketmq-tag=?&metadata.rocketmq-key=? \
-H "Content-Type: application/json" \
-d '{
"data": {
"message": "Hi"
}
}'
Related links
- Basic schema for a Dapr component
- Pub/Sub building block
- Read this guide for instructions on configuring pub/sub components
Last modified July 27, 2022: Remove namespace element from component examples (#2647) (ff9de5c8)