16379 是什么
16379 是 Redis 集群模式的节点通信端口,规则很简单:cluster bus 端口 = 服务端口 + 10000。默认服务端口是 6379,总线口就是 16379。集群握手、槽位迁移、gossip 心跳与故障转移的投票都走这条通道,它只在节点之间使用,不面向业务客户端。
基本信息
| 服务 | Redis Cluster bus |
|---|---|
| 端口/协议 | 16379 = 6379 + 10000,TCP |
| 用途 | 节点握手、槽位同步、故障转移、gossip |
| 防火墙三件套 | 客户端口 6379、总线口 16379、复制口同样走客户端口 |
| 安全等级 | 仅集群节点之间 |
典型使用场景
- 集群扩容:新增节点时确认总线口互通,避免 join 失败
- 故障转移排障:节点误判离线、频繁选主时先查总线连通性
- 防火墙变更评审:确认集群节点之间的双向放行是否完整
- 跨网段部署评估:节点分布在不同网段时核对两侧策略
- 安全核查:确认总线口没有暴露给业务网段或公网
集群健康核对
集群健康核对
redis-cli -h redis01 cluster info | head -10 # 集群状态与槽位覆盖
redis-cli -h redis01 cluster nodes | head -20 # 节点角色、ID 与连接状态
ss -lntp | grep -E ':(6379|16379) ' # 服务口与总线口监听情况
telnet redis02 16379 # 节点之间连通性测试(从节点侧执行)
redis-cli -h redis01 cluster check 2>/dev/null # 集群一致性检查集群通信端口
| 方向 | 端口 | 用途 |
|---|---|---|
| 客户端 → 节点 | 6379 | 业务读写与槽位重定向 |
| 节点 ↔ 节点(总线) | 16379 | gossip、握手、故障转移投票 |
| 主 → 从复制 | 6379 | 全量重同步与增量复制 |
| 哨兵模式对照 | 26379 | Sentinel 独立端口,与集群模式不同 |
集群的防火墙规则必须成套:只放客户端口会导致节点互相看不见、集群随机发生故障转移;只放总线口则业务无法访问。评审时把「节点之间双向、客户端到节点单向」这两类规则分开列,能避免漏放。
扩容失败时按顺序确认:新节点配置文件中的集群开关与端口是否正确、总线口双向是否互通、集群密码与节点 ID 是否一致。多数「join 不上」都落在前两项。
总线口不承载业务数据,但泄露它会暴露节点拓扑与集群状态。做暴露面收敛时把 6379 与 16379 一起收敛到集群网段,避免只加固其中一个。