更改负载均衡(改为随机)

This commit is contained in:
YoVinchen 2023-08-15 16:48:43 +08:00
parent d9bfd4e70b
commit 28d1906cf1
4 changed files with 31 additions and 5 deletions

View File

@ -1,6 +1,7 @@
package com.test.config;
import org.springframework.cloud.client.loadbalancer.LoadBalanced;
import org.springframework.cloud.loadbalancer.annotation.LoadBalancerClient;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.client.RestTemplate;
@ -13,6 +14,8 @@ import org.springframework.web.client.RestTemplate;
* @Create 2023/8/15 10:08
*/
@Configuration
@LoadBalancerClient(value = "userservice", //指定为 userservice 服务只要是调用此服务都会使用我们指定的策略
configuration = LoadBalancerConfig.class) //指定我们刚刚定义好的配置类
public class BeanConfig {
@Bean
@LoadBalanced

View File

@ -0,0 +1,25 @@
package com.test.config;
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;
/**
* ClassName: LoadBalancerConfig
* Package: com.test.config
*
* @author yovinchen
* @Create 2023/8/15 16:46
*/
public class LoadBalancerConfig {
//将官方提供的 RandomLoadBalancer 注册为Bean
@Bean
public ReactorLoadBalancer<ServiceInstance> randomLoadBalancer(Environment environment, LoadBalancerClientFactory loadBalancerClientFactory){
String name = environment.getProperty(LoadBalancerClientFactory.PROPERTY_NAME);
return new RandomLoadBalancer(loadBalancerClientFactory.getLazyProvider(name, ServiceInstanceListSupplier.class), name);
}
}

View File

@ -9,8 +9,7 @@ eureka:
prefer-ip-address: false
instance-id: ${spring.cloud.client.ip-address}:${server.port}
client:
fetch-registry: true
register-with-eureka: false
fetch-registry: false
serviceUrl:
defaultZone: http://eureka02:8802/eureka, http://eureka01:8801/eureka
server:

View File

@ -9,8 +9,7 @@ eureka:
prefer-ip-address: false
instance-id: ${spring.cloud.client.ip-address}:${server.port}
client:
fetch-registry: true
register-with-eureka: false
fetch-registry: false
serviceUrl:
defaultZone: http://eureka01:8801/eureka, http://eureka02:8802/eureka
server: