Skip to content

🔄 自定义负载均衡器

📖 功能介绍

TIP

自定义负载均衡器用于处理未经过Nacos服务发现或跨区域服务的负载均衡,通过配置指定IP和端口,自动监测服务存活状态,实现智能负载分配。

⚙️ 配置参数

核心参数

参数名说明默认值示例
enabled是否启用负载均衡falsetrue
connection-timeout连接超时时间(毫秒)50003000
check-interval健康检查间隔(毫秒)3000020000

服务配置

参数名说明必填示例
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提高访问速度

⚠️ 注意事项

  1. 服务健康检查

    • 自动剔除不健康的服务实例
    • 服务恢复后自动加入可用列表
    • 定期检查服务状态
  2. 负载策略

    • 默认使用轮询策略
    • 自动跳过不可用服务
    • 支持动态服务发现

🔍 常见问题

  1. 服务无法访问

    • 检查服务实例是否存活
    • 验证网络连通性
    • 确认端口是否正确
  2. 负载不均衡

    • 检查服务实例配置
    • 验证健康检查状态
    • 观察服务响应时间