@Override protected void onAdd(String path, byte[] data) { String server = ZkPaths.lastNode(path); client.addHttpServer(server); log.info("The server({}) joined.", server); }
private void initHttpHeaders() { headers.put(APP_NAME_HEADER, client.getAppName()); headers.put(APP_KEY_HEADER, client.getAppSecret()); headers.put(CLIENT_LANG_HEADER, Langs.JAVA.ordinal() + ""); headers.put(CLIENT_VERSION_HEADER, client.getClientVersion()); }
private Boolean selectServer() { List<String> servers = client.getHttpServers(); if (servers.isEmpty()){ log.warn("There are no available server, please check the environment."); return Boolean.FALSE; } currentServer = balancer.balance(servers); return Boolean.TRUE; }
@Override public void run() { ZkClient zk = client.getZk(); // register period, prevent client disconnects unexpected String appClientPath = ZkPaths.pathOfAppClient(client.getAppName(), Systems.hostPid()); if (!zk.checkExists(appClientPath)){ zk.createEphemeral(appClientPath); } } }, 1, 10, TimeUnit.SECONDS);
@Override public void run() { shutdown(); } });
@Override protected void onDelete(String path) { String server = ZkPaths.lastNode(path); client.removeHttpServer(server); log.info("The server({}) left.", server); } });
@Override public void doStart(){ zk.start(); http.start(); jobExecutor.start(); jobManager.start(); afterStart(); Runtime.getRuntime().addShutdownHook(new Thread(){ @Override public void run() { shutdown(); } }); log.info("Antares client started successfully."); }
/** * Shutdown the client */ @Override public void doShutdown(){ zk.shutdown(); http.shutdown(); jobManager.shutdown(); jobExecutor.shutdown(); afterShutdown(); log.info("Antares client shutdown finished."); }
@Override public void doStart(){ // mk app clients path zk.mkdirs(ZkPaths.pathOfAppClients(client.getAppName())); // register client self clientRegister = new ClientRegister(client); clientRegister.start(); // get servers once getServersOnce(); // listen servers listenOnServerChanged(); }
private void getServersOnce() { List<String> servers = zk.gets(ZkPaths.SERVERS); if (servers.isEmpty()){ log.warn("there are no available servers, please check the environment."); return; } for (String server: servers){ client.addHttpServer(server); } }