NATS Streaming

NATS Streaming pubsub 组件详细文档

配置

要设置NATS Streaming pubsub,请创建类型为 pubsub.natsstreaming 的组件。 See this guide on how to create and apply a pubsub configuration.

apiVersion: dapr.io/v1alpha1
kind: Component
metadata:
  name: natsstreaming-pubsub
  namespace: default
spec:
  type: pubsub.natsstreaming
  version: v1
  metadata:
  - name: natsURL
    value: "nats://localhost:4222"
  - name: natsStreamingClusterID
    value: "clusterId"
    # below are subscription configuration.
  - name: subscriptionType
    value: <REPLACE-WITH-SUBSCRIPTION-TYPE> # Required. Allowed values: topic, queue.
  - name: ackWaitTime
    value: "" # Optional.
  - name: maxInFlight
    value: "" # Optional.
  - name: durableSubscriptionName
    value: "" # Optional.
  # following subscription options - only one can be used
  - name: deliverNew
    value: <bool>
  - name: startAtSequence
    value: 1
  - name: startWithLastReceived
    value: false
  - name: deliverAll
    value: false
  - name: startAtTimeDelta
    value: ""
  - name: startAtTime
    value: ""
  - name: startAtTimeFormat
    value: ""

元数据字段规范

字段必填详情Example
natsURLYNATS 服务器地址 URLnats://localhost:4222
natsStreamingClusterIDYNATS cluster ID"clusterId"
subscriptionTypeY订阅类型, 订阅类型, 允许的值"topic""queue""topic"
ackWaitTimeN这里"300ms"
maxInFlightN这里"25"
durableSubscriptionNameN持久订阅识别名称"my-durable"
deliverNewN订阅策略: 只能使用一个, 订阅策略: 只能使用一个, 只发送新消息"true", "false"
startAtSequenceN订阅策略: 只能使用一个, 设置期望的起始序列位置和状态"100000", "230420"
startWithLastReceivedN订阅策略: 只能使用一个, 将起始位置设置为最后接收的位置"true", "false"
deliverAllN订阅策略: 只能使用一个, 传递所有可用消息"true", "false"
startAtTimeDeltaN订阅策略: 只能使用一个, 使用增量设置所需的起始时间位置和状态"10m", "23s"
startAtTimeN订阅策略: 只能使用一个, 设置所需的起始时间位置和状态"Feb 3, 2013 at 7:54pm (PST)"
startAtTimeDeltaN必须与startAtTime一起使用, 设置时间的格式 设置时间的格式"Jan 2, 2006 at 3:04pm (MST)"

创建NATS服务器


您可以在本地使用 Docker运行NATS 服务器:

docker run -d --name nats-streaming -p 4222:4222 -p 8222:8222 nats-streaming

然后,您可以使用 localhost:4222 与服务器进行交互。


使用 kubectl 在 Kubernetes 上安装 NATS:

# Single server NATS

kubectl apply -f https://raw.githubusercontent.com/nats-io/k8s/master/nats-server/single-server-nats.yml

kubectl apply -f https://raw.githubusercontent.com/nats-io/k8s/master/nats-streaming-server/single-server-stan.yml

这将单个NATS-Streaming和Nats安装到default命名空间。 要与NATS进行交互,请使用以下方法找到服务:kubectl get svc stan.

例如,如果使用上面的例子安装, NATS Streaming地址是:

<YOUR-HOST>:4222

相关链接