springcloudribbon负载均衡
1.我们先启动上次建好的eureka、product服务
product服务要设置多个端口,将端口修改为9001,9011
启动后我们访问 http://localhost:9000/
当我们用order服务去调用product服务时会发现,一会调用9001,一会调用9011,这就是ribbon的默认负载策略是轮询的方式,每个节点都访问一次。
修改ribbon负载均衡策略
ribbon有以下几种方式策略:
1.com.netflix.loadbalancer.RoundRobinRule :以轮询的方式进行负载均衡。
2.com.netflix.loadbalancer.RandomRule :随机策略
3.com.netflix.loadbalancer.RetryRule :重试策略。
4.com.netflix.loadbalancer.WeightedResponseTimeRule :权重策略。会计算每个服务的权重,越高的被调用的可能性越大。
5.com.netflix.loadbalancer.BestAvailableRule :最佳策略。遍历所有的服务实例,过滤掉故障实例,并返回请求数最小的实例返回。
6.com.netflix.loadbalancer.AvailabilityFilteringRule :可用过滤策略。过滤掉故障和请求数超过阈值的服务实例,再从剩下的实力中轮询调用。
修改order服务
ribbon重试机制
1.在order服务pom文件中添加重试坐标:
<dependency> <groupId>org.springframework.retry</groupId> <artifactId>spring-retry</artifactId></dependency>
修改order服务application.yml配置文件:
简单说明下ribbon重试机制,当我们消费者去调用服务A和服务B时,如果这时服务A突然挂掉了,这时ribbon会自动帮我们重试请求服务B。
以上是 springcloudribbon负载均衡 的全部内容, 来源链接: utcz.com/z/515988.html