JetStream
Detailed documentation on the NATS JetStream component
Component format
To setup JetStream pubsub create a component of type pubsub.jetstream
. See this guide on how to create and apply a pubsub configuration.
apiVersion: dapr.io/v1alpha1
kind: Component
metadata:
name: jetstream-pubsub
namespace: default
spec:
type: pubsub.jetstream
version: v1
metadata:
- name: natsURL
value: "nats://localhost:4222"
- name: name
value: "connection name"
- name: durableName
value: "consumer durable name"
- name: queueGroupName
value: "queue group name"
- name: startSequence
value: 1
- name: startTime # in Unix format
value: 1630349391
- name: deliverAll
value: false
- name: flowControl
value: false
Spec metadata fields
Field | Required | Details | Example |
---|---|---|---|
natsURL | Y | NATS server address URL | “nats://localhost:4222 ” |
name | N | NATS connection name | “my-conn-name” |
durableName | N | Durable name | “my-durable” |
queueGroupName | N | Queue group name | “my-queue” |
startSequence | N | Start Sequence | 1 |
startTime | N | Start Time in Unix format | 1630349391 |
deliverAll | N | Set deliver all as Replay Policy | true |
flowControl | N | Flow Control | true |
Create a NATS server
You can run a NATS Server with JetStream enabled locally using Docker:
docker run -d -p 4222:4222 nats:latest -js
You can then interact with the server using the client port: localhost:4222
.
Install NATS JetStream on Kubernetes by using the helm:
helm repo add nats https://nats-io.github.io/k8s/helm/charts/
helm install my-nats nats/nats
This installs a single NATS server into the default
namespace. To interact with NATS, find the service with: kubectl get svc my-nats
.
Related links
- Basic schema for a Dapr component
- Read this guide for instructions on configuring pub/sub components
- Pub/Sub building block
- JetStream Documentation
- NATS CLI
Last modified November 12, 2021 : Merge pull request #1949 from willtsai/az-staticwebapp-versioning (c40e456)