1 什么是负载均衡
2 Ribbon负载均衡
3 Ribbon 负载均衡策略
4.Ribbon负载均衡策略设置
4.1 全局设置
在启动类或配置类中注入负载均衡策略对象。所有服务请求均使用该策略。
@Bean
public RandomRule randomRule() {
return new RandomRule();
}
4.2局部设置
修改配置文件指定服务的负载均衡策略。
# 负载均衡策略
# service-provider 为调用的服务的名称
service-provider:
ribbon:
NFLoadBalancerRuleClassName: com.netflix.loadbalancer.RandomRule
5.Ribbon 点对点直连
点对点直连是指绕过注册中心,直接连接服务提供者获取服务,一般在测试阶 段使用比较多。
5.1 添加依赖
在调用方 pom 文件中引入 ribbon 依赖,需要注意的是如果 pom 中有 Eureka 的依赖,则需要去除 Eureka 的依赖。
<!-- netflix ribbon 依赖 -->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-ribbon</artifactId>
</dependency>
5.2 配置文件
配置文件中关闭 Eureka,添加直连的服务地址。如果不设置负载均衡策略默认 使用轮询策略。
# 负载均衡策略
# service-provider 为调用的服务的名称
service-provider:
ribbon:
NFLoadBalancerRuleClassName: com.netflix.loadbalancer.RandomRule
# 点对点直连模式,指定具体的 Provider 服务列表,多个用逗号隔开
listOfServers: http://localhost:7070,http://localhost:7071
# 关闭 Eureka 实现 Ribbon 点对点直连
ribbon:
eureka:
enabled: false # false:关闭,true:开启
5.3 访问