Ribbon负载均衡

Ribbon

1服务调用

​ eureka内部继承了ribbon

  • 在注入restTemplate这个Bean的时候,声明一个注解@LoadBalanced
  • 使用restTemplate调用远程服务,不需要在拼接微服务的URL,以待请求的【服务名】替换IP地址

2负载均衡

  • 服务端有nginx软件,F5的硬件
  • 客户端

Ribbon是一个典型的客户端负载均衡器,Ribbon会获取服务的所有地址,很具内部的负载均衡的算法,获取本次请求的有效地址

Ribbon负载均衡

准备两个商品微服务,(9001,9011)

订单调用,

微服务准备两个服务,2订单在注入restTemplate这个Bean的时候,声明一个注解@LoadBalanced,说明已经开启了负载均衡了

Ribbon的策略

Ribbon负载均衡

修改策略

Ribbon负载均衡

重试机制

如果不加重试机制的话,他会报错然后在去i链接,如果加了他就是会重试的请求下一个,不会报错了

1引入jar

Ribbon负载均衡

2修改配置文件yml

Ribbon负载均衡

【MaxAutoRetries的意思就是重试几次,这边输入1就是不重试自己了】

ribbon负载均衡的执行流程

【源码分析可以自己了解,】

Ribbon负载均衡