主题切换
🔄 自定义负载均衡器
📖 功能介绍
TIP
自定义负载均衡器用于处理未经过Nacos服务发现或跨区域服务的负载均衡,通过配置指定IP和端口,自动监测服务存活状态,实现智能负载分配。
⚙️ 配置参数
核心参数
参数名 | 说明 | 默认值 | 示例 |
---|---|---|---|
enabled | 是否启用负载均衡 | false | true |
connection-timeout | 连接超时时间(毫秒) | 5000 | 3000 |
check-interval | 健康检查间隔(毫秒) | 30000 | 20000 |
服务配置
参数名 | 说明 | 必填 | 示例 |
---|---|---|---|
id | 服务唯一标识 | 是 | web-feign |
uris | 服务地址列表 | 是 | 127.0.0.1:8082 |
💡 配置示例
基础配置
yaml
wueasy:
loadbalancer:
enabled: true # 启用负载均衡
connection-timeout: 5000 # 连接超时5秒
check-interval: 30000 # 检查间隔30秒
完整配置
yaml
wueasy:
loadbalancer:
enabled: true # 启用负载均衡
connection-timeout: 5000 # 连接超时5秒
check-interval: 30000 # 检查间隔30秒
services: # 服务列表
- id: web-feign # 服务ID
uris: # 服务实例地址
- 127.0.0.1:8082 # 实例1
- 127.0.0.1:8083 # 实例2
- id: user-service # 另一个服务
uris:
- 192.168.1.100:8080
- 192.168.1.101:8080
🔧 最佳实践
1. 超时配置
- 根据服务响应时间设置合适的超时时间
- 建议设置为服务平均响应时间的2倍
- 考虑网络延迟因素
2. 健康检查
- 合理设置检查间隔,建议20-30秒
- 避免过于频繁的检查影响性能
- 确保检查超时小于检查间隔
3. 服务配置
- 为每个服务设置唯一的ID
- 配置多个服务实例实现高可用
- 使用内网IP提高访问速度
⚠️ 注意事项
服务健康检查
- 自动剔除不健康的服务实例
- 服务恢复后自动加入可用列表
- 定期检查服务状态
负载策略
- 默认使用轮询策略
- 自动跳过不可用服务
- 支持动态服务发现
🔍 常见问题
服务无法访问
- 检查服务实例是否存活
- 验证网络连通性
- 确认端口是否正确
负载不均衡
- 检查服务实例配置
- 验证健康检查状态
- 观察服务响应时间