NATS 是一个高性能、轻量级的开源消息系统
参考资料
NATS 简介
NATS 是一个高性能、轻量级的开源消息系统,支持发布/订阅、请求/响应和队列模式。适用于微服务、IoT 和云原生应用。
特点
高性能:低延迟、高吞吐量。
轻量级:占用资源少。
多种通信模式:发布/订阅、请求/响应、队列。
支持多种协议:NATS、NATS Streaming(JetStream)、WebSocket。
云原生友好:支持 Kubernetes、Docker。
多语言支持:Go、Java、Python、Node.js 等。
最新更新内容及时间
JetStream 持久化(2023年更新):支持消息持久化和流处理。
NATS 2.10(2023年):改进集群管理、安全性增强。
NATS Server 2.9(2022年):优化内存管理,提升性能。
镜像下载地址
Docker Hub:https://hub.docker.com/_/nats
GitHub Releases:https://github.com/nats-io/nats-server/releases
官网地址
文档地址
官方文档:https://docs.nats.io
JetStream 文档:https://docs.nats.io/nats-concepts/jetstream
Docker 安装示例
# 拉取并运行 NATS 服务器(默认端口 4222) docker run -d --name nats-server -p 4222:4222 -p 8222:8222 nats:latest # 启用 JetStream(持久化模式) docker run -d --name nats-js -p 4222:4222 -p 8222:8222 nats:latest -js
.yaml 配置文件示例
# nats-server.conf port: 4222 http_port: 8222 jetstream { store_dir: /data/nats max_memory: 1GB max_file: 10GB } cluster { name: "nats-cluster" port: 6222 routes: [ "nats://nats-node1:6222", "nats://nats-node2:6222" ] }
常用错误及解决方法
Error: Could not connect to NATS server
检查 NATS 服务是否运行:
docker ps
或nats-server -v
。确保防火墙开放
4222
端口。JetStream not enabled
启动时添加
-js
参数或配置jetstream
。No responders available for request
检查订阅服务是否在线,或超时时间是否太短。
Insufficient Storage
(JetStream)调整
max_memory
或max_file
配置。TLS Handshake Error
检查证书路径和权限,确保 NATS 配置正确。
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。