code: private static void registerService(String application, NodeStatus payload) {
          try {
              /*while (ZkBootstrap.zkNeverStarted()) {
                  Thread.sleep(1000);
                  LOG.warn("zk注册服务尚未初始化，所以无法将当前服务发送到注册中心,请等待...");
              }
              if (ZkBootstrap.zkEverStartedButNowStoped()) {
                  LOG.warn("zk客户端已断开连接，不再执行注册服务动作");
                  return;
              }*/
              synchronized (lock) {
                  LOG.info("注册服务,详情：  " + JSON.toJSON(payload));
                  registry.serviceDiscovery.registerService(ServiceInstance.<NodeStatus>builder()
                          .id(payload.getNodeId())
                          .name(application)
                          .payload(payload)
                          .build()
                  );
              }
          } catch (Throwable e) {
              LOG.error(e);
          } finally {
              LOG.info(String.format("%s的服务注册完毕", application));
          }
      }
docs: 注册服务，如果注册服务未启动过，那么阻塞直到它启动为止