负载均衡

Spring Cloud SOFA 提供了自己的负载均衡算法来替代 Spring Cloud 原生算法(替换 LoadBalancer 或 Ribbon 的算法),并且默认生效。Spring Cloud SOFA 的负载均衡算法加入了对权重的处理,在 SOFA 微服务控制台上配置的权重必须通过 Spring Cloud SOFA 的负载均衡算法才能生效。

配置负载均衡

Spring Cloud SOFA 目前提供了随机和轮询两种负载均衡策略,默认为随机。这两种算法均加入了权重的处理。

如果需要切换负载均衡算法,您可以在application.properties文件中配置以下参数。

配置项

说明

默认值

spring.cloud.sofa.loadbalancer.type

默认的负载均衡算法,可选 random 和 roundRobin

random

spring.cloud.sofa.loadbalancer.types.{serviceId}

分服务配置负载均衡算法

重要

SOFA 提供的负载均衡功能需要依赖 Spring Cloud 的负载均衡框架来运行。另外,如果使用 Ribbon 框架作为负载均衡框架,则还需额外引入 Spring Cloud SOFA Router 模块才能生效。

关闭 SOFA 负载均衡

如果不需要 SOFA 的负载均衡算法,您可以在application.properties文件中配置spring.cloud.sofa.loadbalancer.enabled值为false来关闭。关闭后负载均衡算法将回到 Spring Cloud 进行处理(取决于您使用的是 LoadBalancer 还是 Ribbon),或通过您配置的其他负载均衡进行处理。

spring.cloud.sofa.loadbalancer.enabled=false