6222 与 NATS 集群路由
6222 是 NATS 服务器集群路由(cluster routes)的默认端口:客户端连接走 4222,监控接口走 8222,三者可以成组记忆。集群模式下,各节点通过 6222 互相建立路由,转发消息并同步订阅信息;一旦节点间路由断开,消息会静默丢失,而客户端侧看起来仍然连接正常,因此排障应先看集群路由状态,而不是盯着客户端日志找原因。
基本信息
| 服务名 | NATS cluster routes(6222) |
|---|---|
| 传输层 | TCP |
| 相关端口 | 客户端 4222、监控 8222 |
| 用途 | 集群节点间消息路由与订阅同步 |
| 安全等级 | 仅消息网段 |
典型使用场景
- 集群排障:消息静默丢失时先确认路由状态
- 防火墙核对:确认节点之间 6222 双向可达
- 扩缩容:新节点加入时核对集群名与鉴权配置
- 安全评估:路由鉴权与监控口暴露范围
- 变更核实:网络调整后确认路由重建正常
端口与集群核对
端口与集群核对
ss -lntp | grep -E '4222|6222|8222' # 三类端口一并核对
curl -s http://localhost:8222/routez | head -c 200 # 查看路由状态(监控口开启时)
nats-server --signal ldm # 触发日志转储,观察路由状态
# 节点之间需双向可达:只放单向时路由建立失败,但报错信息并不直观NATS 端口对照
| 端口 | 用途 | 说明 |
|---|---|---|
| 4222 | 客户端连接 | 应用发布订阅入口 |
| 6222 | 集群路由 | 节点间转发与订阅同步(本条目) |
| 8222 | 监控 HTTP 接口 | 含 /routez 等状态端点 |
| 集群鉴权 | routes 配置项 | 各节点需一致,否则拒绝互连 |
只放行客户端 4222 而漏放 6222 是最典型的配置错误:单节点环境看不出问题,扩成集群后消息就在节点之间静默丢失,业务侧只表现为偶发丢消息。
监控口 8222 会暴露连接数、订阅关系与集群路由信息。把它开放到消息网段之外,等于向外部提供系统内部结构与运行状态,应限制来源或干脆只监听本机。
路由鉴权还要与运维流程对齐:轮换凭证时按节点顺序滚动更新,先改一半会立刻出现互连被拒,表现为部分节点之间的消息不通,而现象看起来很像网络抖动。