@Override
	public Flux<String> getServices() {
		return Flux.defer(() -> {
			try {
				return Mono.justOrEmpty(serviceDiscovery.getServices())
						.flatMapMany(services -> {
							ServiceCache.setServiceIds(services);
							return Flux.fromIterable(services);
						});
			}
			catch (Exception e) {
				log.error("get services from nacos server fail,", e);
				return failureToleranceEnabled
						? Flux.fromIterable(ServiceCache.getServiceIds())
						: Flux.empty();
			}
		}).subscribeOn(Schedulers.boundedElastic());
	}
@author <a href="mailto:echooy.mxq@gmail.com">echooymxq</a>
@author freeman
spring-cloud-alibaba-starters/spring-cloud-starter-alibaba-nacos-discovery/src/main/java/com/alibaba/cloud/nacos/discovery/reactive/NacosReactiveDiscoveryClient.java