У меня есть проект, в котором я использую eureka, zuul и несколько микросервисов. Когда я запускаю новый микросервис, я должен подождать около 30 секунд, пока информация об обновлении zuul с сервера eureka и только после этого я могу отправить запрос через zuul на новый микросервис. Как заставить zuul получать данные реестра с сервера eureka?Как заставить zuul получать данные реестра с сервера eureka?
0
A
ответ
0
Как предложено here, нет способа принудительного извлечения реестра. Что вы можете сделать, это настроить конфигурацию таким образом извлечь реестр задачу планируется с более коротким интервалом (наименьший возможный интервал составляет один второй) в DiscoveryClient:
if (clientConfig.shouldFetchRegistry()) {
// registry cache refresh timer
int registryFetchIntervalSeconds = clientConfig.getRegistryFetchIntervalSeconds();
int expBackOffBound = clientConfig.getCacheRefreshExecutorExponentialBackOffBound();
scheduler.schedule(
new TimedSupervisorTask(
"cacheRefresh",
scheduler,
cacheRefreshExecutor,
registryFetchIntervalSeconds,
TimeUnit.SECONDS,
expBackOffBound,
new CacheRefreshThread()
),
registryFetchIntervalSeconds, TimeUnit.SECONDS);
}
Вы можете получить, что с установкой соответствующего значения в «обновлении .interval "вашего клиента eureka (проанализировано в" registryFetchIntervalSeconds "выше).