写一个CustomerLoadBalancerConfiguration类并将以下代码粘入
import org.springframework.cloud.client.ServiceInstance; import org.springframework.cloud.loadbalancer.core.RandomLoadBalancer; import org.springframework.cloud.loadbalancer.core.ReactorLoadBalancer; import org.springframework.cloud.loadbalancer.core.ServiceInstanceListSupplier; import org.springframework.cloud.loadbalancer.support.LoadBalancerClientFactory; import org.springframework.context.annotation.Bean; import org.springframework.core.env.Environment; public class CustomerLoadBalancerConfiguration { @Bean ReactorLoadBalancer<ServiceInstance> randomLoadBalancer(Environment environment, LoadBalancerClientFactory loadBalancerClientFactory) { String name = environment.getProperty(LoadBalancerClientFactory.PROPERTY_NAME); return new RandomLoadBalancer(loadBalancerClientFactory .getLazyProvider(name, ServiceInstanceListSupplier.class), name); } }
并在主启动类上加入以下注解
@LoadBalancerClient(name = "CLOUD-PAYMENT-SERVICE",configuration = CustomerLoadBalancerConfiguration.class)
之后去掉pom文件中的ribbon就可以了
参考:没有IRule接口咋办啊 加Ribbon依赖会报错的 eureka3.0以上版本包括了Ribbon 但没有Ribbon依赖就没有IRule接口啊_大数据-优快云问答