Hãy thử với:
myService.ribbon.ServerListRefreshInterval=10000
nơi myService
là tên của microservice điểm đến của bạn.
CẬP NHẬT:
Sau khi một số mã nguồn đào tôi phát hiện ra rằng LoadBalancerBuilder
cuộc gọi:
@Deprecated
public ZoneAwareLoadBalancer(IClientConfig clientConfig, IRule rule,
IPing ping, ServerList<T> serverList, ServerListFilter<T> filter) {
super(clientConfig, rule, ping, serverList, filter);
}
mà siêu là:
@Deprecated
public DynamicServerListLoadBalancer(IClientConfig clientConfig, IRule rule, IPing ping,
ServerList<T> serverList, ServerListFilter<T> filter) {
this(
clientConfig,
rule,
ping,
serverList,
filter,
new PollingServerListUpdater()
);
}
Thông báo các PollingServerListUpdater
constructors:
private static int LISTOFSERVERS_CACHE_REPEAT_INTERVAL = 30 * 1000; // msecs;
public PollingServerListUpdater() {
this(LISTOFSERVERS_CACHE_UPDATE_DELAY, LISTOFSERVERS_CACHE_REPEAT_INTERVAL);
}
public PollingServerListUpdater(IClientConfig clientConfig) {
this(LISTOFSERVERS_CACHE_UPDATE_DELAY, getRefreshIntervalMs(clientConfig));
}
Điều thứ hai sẽ cho phép chúng tôi ghi đè khoảng thời gian làm mới mặc định. Tuy nhiên nó là cái đầu tiên được gọi, vì vậy nó bỏ qua de property.
UPDATE 2:
Có một vấn đề mở về vấn đề này: https://github.com/spring-cloud/spring-cloud-netflix/issues/1304
dịch vụ của bạn có được đăng ký chính xác như 'Dịch vụ tính toán' trong máy chủ Eureka của bạn không? Tâm trí các chữ cái vốn. – codependent
Chắc chắn, hãy kiểm tra kỹ lưỡng rằng không có lỗi đánh máy, sẽ đính kèm một số ảnh chụp màn hình để bạn tham khảo sau –
Cảm ơn câu trả lời có giá trị của bạn, hy vọng lỗi có thể được khắc phục ASAP –