eureka客户端跟server端的机制,基本差不多,用了更多的定时任务和线程,还有保证线程安全的机制,比如: ReentrantLock和CAS
scheduler.schedule(
new TimedSupervisorTask(
"cacheRefresh",
scheduler,
cacheRefreshExecutor,
registryFetchIntervalSeconds,
TimeUnit.SECONDS,
expBackOffBound,
new CacheRefreshThread()
),
registryFetchIntervalSeconds, TimeUnit.SECONDS);