chore(config): Tune Sentinel dynamic parameters

This commit is contained in:
2026-03-16 09:24:26 +08:00
parent 9353f49045
commit bbc12c0061
10 changed files with 130 additions and 66 deletions
+39 -3
View File
@@ -682,18 +682,54 @@ video-gateway:
**原因**:与 Nacos 问题类似,Sentinel 客户端使用容器内部 IP 注册到 Dashboard,导致跨节点无法通信。
**解决方案**:在 docker-compose 中添加 `SPRING_CLOUD_SENTINEL_CLIENT_IP` 环境变量:
**解决方案**:在 docker-compose 中添加 `SPRING_CLOUD_SENTINEL_TRANSPORT_CLIENT_IP` 环境变量:
```yaml
# Node-01 (192.168.1.101)
video-gateway:
environment:
- SPRING_CLOUD_SENTINEL_CLIENT_IP=${HOST_IP:-192.168.1.101}
- SPRING_CLOUD_SENTINEL_TRANSPORT_CLIENT_IP=${HOST_IP:-192.168.1.101}
# Node-02 (192.168.1.102)
video-gateway:
environment:
- SPRING_CLOUD_SENTINEL_CLIENT_IP=${HOST_IP:-192.168.1.102}
- SPRING_CLOUD_SENTINEL_TRANSPORT_CLIENT_IP=${HOST_IP:-192.168.1.102}
```
**注意**:环境变量名必须是 `SPRING_CLOUD_SENTINEL_TRANSPORT_CLIENT_IP`,对应 Spring 属性 `spring.cloud.sentinel.transport.client-ip`。
**重要**:还需要配置以下两项:
1. **端口映射**:每个微服务需要映射 Sentinel 通信端口(默认从 8719 开始)
2. **端口指定**:通过 `SPRING_CLOUD_SENTINEL_TRANSPORT_PORT` 指定固定端口
```yaml
# Node-01 微服务 Sentinel 端口分配
video-gateway:
ports:
- "9000:9000"
- "8719:8719" # Sentinel 端口
environment:
- SPRING_CLOUD_SENTINEL_TRANSPORT_PORT=8719
video-auth:
ports:
- "9001:9001"
- "8720:8720" # Sentinel 端口
environment:
- SPRING_CLOUD_SENTINEL_TRANSPORT_PORT=8720
# 以此类推: user=8721, content=8722, comment=8723, recommend=8724, admin=8725
# Node-02 微服务使用不同端口避免冲突: 8739-8745
```
3. **Dashboard 统一地址**:Node-02 及其他节点的微服务必须连接 Node-01 的 Sentinel Dashboard:
```yaml
# Node-02 微服务
environment:
- SENTINEL_DASHBOARD_HOST=192.168.1.101 # 指向 Node-01
- SENTINEL_DASHBOARD_PORT=8880 # Dashboard 宿主机端口
```
**验证**:重启微服务后,Sentinel 控制台应显示真实宿主机 IP,且所有实例状态为"健康"