Skip to content

Commit 0389e9e

Browse files
author
zhaozhou
committed
fix ServerListRefreshInterval ignore
1 parent 56cf4ff commit 0389e9e

3 files changed

Lines changed: 37 additions & 1 deletion

File tree

‎cloud-api-gateway/src/main/java/com/erdaoya/springcloud/gateway/GateWayApplication.java‎

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,12 @@
11
package com.erdaoya.springcloud.gateway;
22

3+
import com.erdaoya.springcloud.gateway.config.CustomLoadBalancer;
34
import com.erdaoya.springcloud.gateway.filter.AccessFilter;
45
import com.erdaoya.springcloud.gateway.filter.ResponseFilter;
56
import org.springframework.boot.SpringApplication;
67
import org.springframework.boot.autoconfigure.SpringBootApplication;
78
import org.springframework.cloud.client.discovery.EnableDiscoveryClient;
9+
import org.springframework.cloud.netflix.ribbon.RibbonClients;
810
import org.springframework.cloud.netflix.zuul.EnableZuulProxy;
911
import org.springframework.context.annotation.Bean;
1012

@@ -17,6 +19,7 @@
1719
@SpringBootApplication
1820
@EnableDiscoveryClient
1921
@EnableZuulProxy
22+
@RibbonClients(defaultConfiguration = CustomLoadBalancer.class)
2023
public class GateWayApplication {
2124

2225
public static void main(String[] args) {
Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
package com.erdaoya.springcloud.gateway.config;
2+
3+
import com.netflix.client.config.IClientConfig;
4+
import com.netflix.loadbalancer.*;
5+
import org.springframework.context.annotation.Bean;
6+
7+
/**
8+
* fix: ribbon:ServerListRefreshInterval ignored
9+
* // TODO remove after 1.3.0.RELEASE
10+
*
11+
* @author erdaoya
12+
*/
13+
public class CustomLoadBalancer {
14+
@Bean
15+
public ILoadBalancer ribbonLoadBalancer(IClientConfig config,
16+
ServerList<Server> serverList, ServerListFilter<Server> serverListFilter,
17+
IRule rule, IPing ping) {
18+
return new ZoneAwareLoadBalancer<>(config, rule, ping, serverList,
19+
serverListFilter, new PollingServerListUpdater(config));
20+
}
21+
}

‎cloud-api-gateway/src/main/resources/bootstrap.yml‎

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,18 @@ eureka:
2727

2828

2929
logging:
30-
level.org.springframework.security: DEBUG
30+
level:
31+
com.netflix.loadbalancer: DEBUG
32+
com.netflix.discovery: INFO
33+
org.springframework.security: DEBUG
34+
35+
ribbon:
36+
ServerListRefreshInterval: 2000
37+
38+
eureka:
39+
client:
40+
registry-fetch-interval-seconds: 4
41+
3142

3243
zuul:
3344
routes:
@@ -63,6 +74,7 @@ hystrix:
6374
default:
6475
coreSize: 50
6576

77+
6678
---
6779

6880
spring:

0 commit comments

Comments
 (0)