anchor.diff:  [[load-balancer-exchange-filter-function]]
   ==== Spring WebFlux WebClient with non-reactive Load Balancer Client
   
  -If you you don't have `org.springframework.cloud:spring-cloud-starter-loadbalancer` in your project,
  +If you you don't have <<spring-cloud-loadbalancer-starter, Spring Cloud LoadBalancer starter>> in your project,
   but you do have spring-cloud-starter-netflix-ribbon, you can still use `WebClient` with `LoadBalancerClient`. `LoadBalancerExchangeFilterFunction`
   will be auto-configured if `spring-webflux` is on the classpath. Please note, however, that this is
   uses a non-reactive client under the hood.
  
positive.code: If you have both `spring-cloud-starter-loadbalancer` and `spring-cloud-starter-netflix-ribbon`
  in your classpath, Ribbon will be used by default. In order to switch to Spring Cloud LoadBalancer,
  set the value of `spring.cloud.loadbalancer.ribbon.enabled` to false.
  
  IMPORTANT: In order to make use of the more efficient cached version of `ServiceInstanceListSupplier`,
   `spring-cloud-starter-loadbalancer` will *enable caching* by default.
  https://docs.spring.io/spring-boot/docs/current/reference/html/boot-features-caching.html[Spring Boot Caching]
  mechanism will be used under the hood. If you don't want caching to be used, you can set
  the value of `spring.cache.type` to `none`.
  
  ==== Retrying Failed Requests
  
  
negative.code: 
  IMPORTANT: In order to use a load-balanced `RestTemplate`, you need to have a load-balancer implementation in your classpath.
  The recommended implementation is `BlockingLoadBalancerClient`
  - add <<spring-cloud-loadbalancer-starter, Spring Cloud LoadBalancer starter>> to your project in order to use it.
  The
  `RibbonLoadBalancerClient` also can be used, but it's now under maintenance and we do not recommend adding it to new projects.
  
  