feat: add NATS EventBus implementation (#2385)

Co-authored-by: pozen <pozen@users.noreply.github.com>
This commit is contained in:
pozen
2025-11-04 09:48:46 +08:00
committed by GitHub
parent 475e8191ec
commit 16396f5693
10 changed files with 1858 additions and 3 deletions

View File

@ -73,7 +73,7 @@ export ES_NUMBER_OF_SHARDS="1"
export ES_NUMBER_OF_REPLICAS="1"
# Backend Event Bus
export COZE_MQ_TYPE="nsq" # nsq / kafka / rmq / pulsar
export COZE_MQ_TYPE="nsq" # nsq / kafka / rmq / pulsar / nats
export MQ_NAME_SERVER="nsqd:4150"
# RocketMQ
export RMQ_ACCESS_KEY=""
@ -83,6 +83,27 @@ export RMQ_SECRET_KEY=""
# Fill PULSAR_JWT_TOKEN for JWT auth, leave empty for no auth
export PULSAR_SERVICE_URL="pulsar://pulsar-service:6650"
export PULSAR_JWT_TOKEN=""
# NATS
# Use NATS as backend eventbus with JetStream support
# Set COZE_MQ_TYPE="nats" and MQ_NAME_SERVER="nats:4222" to enable NATS
# NATS_SERVER_URL: NATS server connection URL, supports nats:// and tls:// protocols
# For cluster setup, use comma-separated URLs: "nats://nats1:4222,nats://nats2:4222"
# For TLS connection: "tls://nats:4222"
export NATS_SERVER_URL="nats://nats:4222"
# NATS_JWT_TOKEN: JWT token for NATS authentication (leave empty for no auth)
export NATS_JWT_TOKEN=""
# NATS_NKEY_SEED: Path to NATS seed file for NKey authentication (optional)
export NATS_NKEY_SEED=""
# NATS_USERNAME: Username for NATS authentication (optional)
export NATS_USERNAME=""
# NATS_PASSWORD: Password for NATS authentication (optional)
export NATS_PASSWORD=""
# NATS_TOKEN: Token for NATS authentication (optional)
export NATS_TOKEN=""
# NATS_STREAM_REPLICAS: Number of replicas for JetStream streams (default: 1)
export NATS_STREAM_REPLICAS="1"
# NATS_USE_JETSTREAM: Enable JetStream mode for message persistence and reliability (default: false)
export NATS_USE_JETSTREAM="true"
# Settings for VectorStore
# VectorStore type: milvus / vikingdb / oceanbase