com.netflix.loadbalancer.Server.setZone()方法的使用及代码示例

x33g5p2x  于2022-01-30 转载在 其他  
字(1.9k)|赞(0)|评价(0)|浏览(117)

本文整理了Java中com.netflix.loadbalancer.Server.setZone()方法的一些代码示例,展示了Server.setZone()的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。Server.setZone()方法的具体详情如下:
包路径:com.netflix.loadbalancer.Server
类名称:Server
方法名:setZone

Server.setZone介绍

暂无

代码示例

代码示例来源:origin: org.apache.camel/camel-ribbon

@Override
public <T> T process(String serviceName, ServiceLoadBalancerFunction<T> request) throws Exception {
  ILoadBalancer loadBalancer = loadBalancers.computeIfAbsent(serviceName, key -> createLoadBalancer(key));
  Server server = loadBalancer.chooseServer(serviceName);
  if (server == null) {
    throw new RejectedExecutionException("No active services with name " + serviceName);
  }
  ServiceDefinition definition;
  if (server instanceof ServiceDefinition) {
    // If the service discovery is one of camel provides, the definition
    // is already of the expected type.
    definition = (ServiceDefinition)server;
  } else {
    // If ribbon server list is configured through client config properties
    // i.e. with listOfServers property the instance provided by the load
    // balancer is of type Server so a conversion is needed
    definition = new RibbonServiceDefinition(
      serviceName,
      server.getHost(),
      server.getPort()
    );
    String zone = server.getZone();
    if (zone != null) {
      server.setZone(zone);
    }
  }
  return request.apply(definition);
}

代码示例来源:origin: smoketurner/dropwizard-consul

/**
  * Build a {@link Server} instance from a Consul {@link ServiceHealth} instance. If the service
  * has an address defined, use that as the server host, otherwise default to using the node
  * address.
  *
  * @param service Consul service health record
  * @return Ribbon Server instance
  */
 private Server buildServer(final ServiceHealth service) {
  final Server server;
  if (!Strings.isNullOrEmpty(service.getService().getAddress())) {
   server = new Server(service.getService().getAddress(), service.getService().getPort());
  } else {
   server = new Server(service.getNode().getAddress(), service.getService().getPort());
  }
  server.setZone(service.getNode().getDatacenter().orElse(Server.UNKNOWN_ZONE));
  return server;
 }
}

相关文章