private String getZoneFromEureka() {
		String zone;
		boolean approximateZoneFromHostname = eurekaLoadBalancerProperties.isApproximateZoneFromHostname();
		if (approximateZoneFromHostname && eurekaConfig != null) {
			return ZoneUtils.extractApproximateZone(this.eurekaConfig.getHostName(false));
		}
		else {
			zone = eurekaConfig == null ? null : eurekaConfig.getMetadataMap().get("zone");
			if (!StringUtils.hasText(zone) && clientConfig != null) {
				String[] zones = clientConfig.getAvailabilityZones(clientConfig.getRegion());
				// Pick the first one from the regions we want to connect to
				zone = zones != null && zones.length > 0 ? zones[0] : null;
			}
			return zone;
		}
	}
A configuration for Spring Cloud LoadBalancer that retrieves client instance zone from
Eureka and sets it as a property. Based on
{@link EurekaLoadBalancerClientConfiguration}.

@author Olga Maciaszek-Sharma
@since 2.2.1
@see EurekaLoadBalancerClientConfiguration
spring-cloud-netflix-eureka-client/src/main/java/org/springframework/cloud/netflix/eureka/loadbalancer/EurekaLoadBalancerClientConfiguration.java