code: protected List<String> getServerList() {
          if (StringUtil.isNotEmpty(zkNodePath)) {
              String key = ZkPathUtil.buildPath(NaviCommonConstant.ZOOKEEPER_BASE_PATH, zkNodePath,
                      serviceInterface.getSimpleName());
              if (LOG.isDebugEnabled()) {
                  LOG.debug("Try to get server list from local cache for " + key);
              }
              List<String> serverList = ServiceLocalCache.get(key);
              if (CollectionUtils.isEmpty(serverList)) {
                  LOG.warn("Rpc service instance list empty in local service cache for "
                          + key
                          + ", if registry at Zookeeper enabled, check path carefully. Workaround solution enabled now to use direct call.");
                  if (StringUtil.isEmpty(directCallServers)) {
                      throw new ServiceAddressEmptyException(
                              "No server available in local service cache! Please check 1)At least one server endpoint is alive, "
                                      + "2)Zookeeper registry path and digest auth code is correct, 3)The backup solution - directCallServers are accessible. "
                                      + "If zookeeper registry enabled, also make sure that NaviRpcServerListListener is started as well.");
                  }
                  String[] directCallServerArr = StringUtil
                          .split(directCallServers, StringUtil.COMMA);
                  return Arrays.asList(directCallServerArr);
              }
              return serverList;
          } else {
              if (StringUtil.isEmpty(directCallServers)) {
                  throw new ServiceAddressEmptyException(
                          "Rpc client service list empty, please configure the correct direct server list");
              }
              String[] directCallServerArr = StringUtil.split(directCallServers, StringUtil.COMMA);
              return Arrays.asList(directCallServerArr);
          }
      }
docs: 从local cache中获取最新的服务地址列表
  <p/>
  如果启用了zookeeper，local cache由异步守护线程作为zookeeper客户端实时更新，否则直接从配置中取
  
  @return 服务地址列表