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

回到顶部