chore(config): Tune Sentinel dynamic parameters
This commit is contained in:
@@ -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,且所有实例状态为"健康"
|
||||
|
||||
Reference in New Issue
Block a user