gpt4 book ai didi

com.github.dapeng.registry.zookeeper.ZkServiceInfo.serviceName()方法的使用及代码示例

转载 作者:知者 更新时间:2024-03-18 15:29:31 25 4
gpt4 key购买 nike

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

ZkServiceInfo.serviceName介绍

暂无

代码示例

代码示例来源:origin: dapeng-soa/dapeng-soa

/**
 * 取消zk服务节点同步
 *
 * @param serviceInfo
 */
public void cancel(ZkServiceInfo serviceInfo) {
  LOGGER.info("ClientZkAgent::cancel, serviceName:" + serviceInfo.serviceName());
  synchronized (serviceInfoByName) {
    // 1
    ZkServiceInfo oldServiceInfo = serviceInfoByName.get(serviceInfo.serviceName());
    if (oldServiceInfo != null && serviceInfo == oldServiceInfo) {
      // 2, 步骤1跟2之间, serviceInfosByName可能会发生变化, 所以需要做同步
      serviceInfoByName.remove(serviceInfo.serviceName());
      LOGGER.info("ClientZkAgent::cancel succeed, serviceName:" + serviceInfo.serviceName());
    } else {
      LOGGER.warn("ClientZkAgent::cancel, no serviceInfo found for:" + serviceInfo.serviceName());
    }
  }
}

代码示例来源:origin: dapeng-soa/dapeng-soa

/**
 * 同步zk服务节点信息
 *
 * @param serviceInfo
 */
public void sync(ZkServiceInfo serviceInfo) {
  synchronized (serviceInfoByName) {
    serviceInfoByName.put(serviceInfo.serviceName(), serviceInfo);
  }
  startWatch(serviceInfo);
}

代码示例来源:origin: dapeng-soa/dapeng-soa

public static void syncZkConfigInfo(ZkServiceInfo zkInfo, ZooKeeper zk, Watcher watcher, boolean isGlobal) {
  if (!isZkReady(zk)) return;
  String configPath = CONFIG_PATH;
  if (isGlobal) {
    configPath += "/" + zkInfo.serviceName();
  }
  try {
    byte[] data = zk.getData(configPath, watcher, null);
    ZkDataProcessor.processZkConfig(data, zkInfo, isGlobal);
  } catch (KeeperException | InterruptedException e) {
    LOGGER.error(ZkUtils.class + "::syncZkConfigInfo failed, service:"
        + zkInfo.serviceName() + ", zk status:" + zk.getState(), e);
  }
}

代码示例来源:origin: dapeng-soa/dapeng-soa

/**
 * 获取 zookeeper 上的 限流规则 freqRule
 *
 * @return
 */
private void syncZkFreqControl(ZkServiceInfo serviceInfo) {
  if (!ZkUtils.isZkReady(zk)) return;
  try {
    Stat stat = new Stat();
    byte[] data = zk.getData(FREQ_PATH + "/" + serviceInfo.serviceName(), this, stat);
    serviceInfo.freqControl(ZkDataProcessor.processFreqRuleData(serviceInfo.serviceName(), data));
  } catch (KeeperException | InterruptedException e) {
    LOGGER.error(getClass() + "::syncZkFreqControl 获取freq 节点: " + serviceInfo.serviceName() + " 出现异常, zkStatus:" + zk.getState(), e);
  }
}

代码示例来源:origin: dapeng-soa/dapeng-soa

/**
 * 同步cookie注入的规则
 *
 * @param serviceInfo
 */
private void syncZkCookieRuleInfo(ZkServiceInfo serviceInfo) {
  LOGGER.warn("ClientZKAgent::syncZkCookieRuleInfo service:" + serviceInfo.serviceName());
  String servicePath = COOKIE_RULES_PATH + "/" + serviceInfo.serviceName();
  try {
    byte[] data = zk.getData(servicePath, this, null);
    List<CookieRule> cookieRules = processCookieRuleData(data);
    serviceInfo.cookieRules(cookieRules);
    LOGGER.warn("ClientZk::syncZkCookieRuleInfo rules changes:" + cookieRules);
  } catch (KeeperException.NoNodeException e) {
    ZkUtils.createPersistNodeOnly(servicePath, zk);
    syncZkCookieRuleInfo(serviceInfo);
  } catch (KeeperException | InterruptedException e) {
    LOGGER.error(getClass() + "::syncZkCookieRuleInfo serviceName: " + serviceInfo.serviceName()
        + " 出现异常, zkStatus:" + zk.getState(), e);
  }
}

代码示例来源:origin: dapeng-soa/dapeng-soa

/**
 * 同步zk信息
 *
 * @param serviceInfo
 */
private void startWatch(ZkServiceInfo serviceInfo) {
  LOGGER.info(getClass().getSimpleName() + "::syncServiceZkInfo[serviceName:" + serviceInfo.serviceName() + "], runtimeInstants:" + serviceInfo.runtimeInstances().size());
  try {
    // sync runtimeList
    syncZkRuntimeInfo(serviceInfo);
    // sync router config
    syncZkRouteInfo(serviceInfo);
    // sync service config, no need to try 5 times any more
    syncZkConfigInfo(serviceInfo, zk, this, true);
    syncZkConfigInfo(serviceInfo, zk, this, false);
    // sync cookie injection rule
    syncZkCookieRuleInfo(serviceInfo);
    LOGGER.info(getClass().getSimpleName() + "::syncServiceZkInfo[serviceName:" + serviceInfo.serviceName() + "]:zkInfo succeed, runtimeInstants:" + serviceInfo.runtimeInstances().size());
  } catch (Exception e) {
    LOGGER.error(e.getMessage(), e);
    LOGGER.error(getClass().getSimpleName() + "::syncServiceZkInfo[serviceName:" + serviceInfo.serviceName() + "]:zkInfo failed, runtimeInstants:" + serviceInfo.runtimeInstances().size());
  }
}

代码示例来源:origin: dapeng-soa/dapeng-soa

String servicePath = RUNTIME_PATH + "/" + serviceInfo.serviceName();
if (zk == null) {
  LOGGER.warn(getClass().getSimpleName() + "::syncZkRuntimeInfo[" + serviceInfo.serviceName() + "]:zkIsNull, now_init()");
  connect();
do {
  if (!zk.getState().isConnected()) {
    LOGGER.error(getClass().getSimpleName() + "::syncZkRuntimeInfo[" + serviceInfo.serviceName()
        + "]:zk doesn't connected yet, status:" + zk.getState() + ", retry:" + retry + " times after 300ms");
    sleep(300);
        serviceInfo.runtimeInstances().clear();
        LOGGER.info(getClass().getSimpleName() + "::syncZkRuntimeInfo["
            + serviceInfo.serviceName() + "]:no service instances found");
        return;
          + serviceInfo.serviceName() + "], 获取" + servicePath + "的子节点成功");
      runtimeInstanceList.addAll(getRuntimeInstances(children, serviceInfo.serviceName()));
          + serviceInfo.serviceName() + " -> " + serviceInfo.runtimeInstances());
      return;
    } catch (KeeperException | InterruptedException e) {
      LOGGER.error(getClass() + "::syncZkRuntimeInfo serviceName: " + serviceInfo.serviceName() + " 出现异常, zkStatus:" + zk.getState(), e);
      sleep(300);

代码示例来源:origin: dapeng-soa/dapeng-soa

/**
 * route 根据给定路由规则对可运行实例进行过滤
 */
private void syncZkRouteInfo(ZkServiceInfo serviceInfo) {
  LOGGER.warn("ClientZKAgent::syncZkRouteInfo service:" + serviceInfo.serviceName());
  String servicePath = ROUTES_PATH + "/" + serviceInfo.serviceName();
  int retry = 5;
  do {
    if (zk == null || !zk.getState().isConnected()) {
      LOGGER.warn("ClientZKAgent::syncZkRouteInfo service:"
          + serviceInfo.serviceName() + ", zk status:"
          + (zk == null ? null : zk.getState()) + ", retry:"
          + retry + " times after 300ms");
      sleep(300);
    } else {
      try {
        byte[] data = zk.getData(servicePath, this, null);
        processRouteData(serviceInfo, data);
        LOGGER.warn("ClientZk::getRoutes routes changes:" + serviceInfo.routes());
        return;
      } catch (KeeperException.NoNodeException e) {
        ZkUtils.createPersistNodeOnly(servicePath, zk);
      } catch (KeeperException | InterruptedException e) {
        LOGGER.error(getClass() + "::syncZkRouteInfo serviceName: " + serviceInfo.serviceName() + " 出现异常, zkStatus:" + zk.getState(), e);
        sleep(300);
      }
    }
  } while (--retry > 0);
}

代码示例来源:origin: dapeng-soa/dapeng-soa

LOGGER.info("get " + (isGlobal?"global":"") + " config from " + zkInfo.serviceName() + " with data [" + configData + "]");
} catch (UnsupportedEncodingException e) {
  LOGGER.error(e.getMessage(), e);

代码示例来源:origin: dapeng-soa/dapeng-soa

logger.error(getClass().getSimpleName() + "::findConnection[service: " + serviceInfo.serviceName() + ":" + version + "], not found available version of instances");
  throw new SoaException(NoMatchedService, "服务 [ " + serviceInfo.serviceName() + ":" + version + "] 无可用实例:没有找到对应的服务版本");
capsuleContext(context, serviceInfo.serviceName(), version, method);
  logger.error(getClass().getSimpleName() + "::findConnection[service: " + serviceInfo.serviceName() + "], not found available instances by routing rules");
  throw new SoaException(NoMatchedRouting, "服务 [ " + serviceInfo.serviceName() + " ] 无可用实例:路由规则没有解析到可运行的实例");
if (inst == null) {
  throw new SoaException(NotFoundServer, "服务 [ " + serviceInfo.serviceName() + " ] 无可用实例:负载均衡没有找到合适的运行实例");

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com