public ClusterBalancer(DistributedLogClientBuilder clientBuilder) { this(clientBuilder, ClientUtils.buildClient(clientBuilder)); }
/** * Build a new distributedlog client to a single host <i>host</i>. * * @param host * host to access * @return distributedlog clients */ static Pair<DistributedLogClient, MonitorServiceClient> createDistributedLogClient( SocketAddress host, DistributedLogClientBuilder clientBuilder) { DistributedLogClientBuilder newBuilder = DistributedLogClientBuilder.newBuilder(clientBuilder).host(host); return ClientUtils.buildClient(newBuilder); }
protected void balanceFromSource(DistributedLogClientBuilder clientBuilder, ClusterBalancer balancer, String source, Optional<RateLimiter> rateLimiter) throws Exception { InetSocketAddress sourceAddr = DLSocketAddress.parseSocketAddress(source); DistributedLogClientBuilder sourceClientBuilder = DistributedLogClientBuilder.newBuilder(clientBuilder) .host(sourceAddr); Pair<DistributedLogClient, MonitorServiceClient> clientPair = ClientUtils.buildClient(sourceClientBuilder); try { Await.result(clientPair.getRight().setAcceptNewStream(false)); logger.info("Disable accepting new stream on proxy {}.", source); balancer.balanceAll(source, rebalanceConcurrency, rateLimiter); } finally { clientPair.getLeft().close(); } } }
createDistributedLogClientBuilder(serverSet1.getServerSet()); Pair<DistributedLogClient, MonitorServiceClient> pair1 = ClientUtils.buildClient(builder1); DistributedLogClientBuilder builder2 = createDistributedLogClientBuilder(serverSet2.getServerSet()); Pair<DistributedLogClient, MonitorServiceClient> pair2 = ClientUtils.buildClient(builder2); try { SimpleBalancer balancer = new SimpleBalancer(
@Override protected int runCmd(CommandLine commandLine) throws Exception { try { parseCommandLine(commandLine); } catch (ParseException pe) { System.err.println("ERROR: failed to parse commandline : '" + pe.getMessage() + "'"); printUsage(); return -1; } DistributedLogClientBuilder clientBuilder = DistributedLogClientBuilder.newBuilder() .name("proxy_tool") .clientId(ClientId$.MODULE$.apply("proxy_tool")) .maxRedirects(2) .host(address) .clientBuilder(ClientBuilder.get() .connectionTimeout(Duration.fromSeconds(2)) .tcpConnectTimeout(Duration.fromSeconds(2)) .requestTimeout(Duration.fromSeconds(10)) .hostConnectionLimit(1) .hostConnectionCoresize(1) .keepAlive(true) .failFast(false)); Pair<DistributedLogClient, MonitorServiceClient> clientPair = ClientUtils.buildClient(clientBuilder); try { return runCmd(clientPair); } finally { clientPair.getLeft().close(); } }