code: protected void doRegister(String appName, String serviceName, ProviderInfo providerInfo) {
          if (LOGGER.isInfoEnabled(appName)) {
              LOGGER.infoWithApp(appName, LogCodes.getLog(LogCodes.INFO_ROUTE_REGISTRY_PUB, serviceName));
          }
          //{service : [provider...]}
          ProviderGroup oldGroup = memoryCache.get(serviceName);
          if (oldGroup != null) { // 存在老的key
              oldGroup.add(providerInfo);
          } else { // 没有老的key，第一次加入
              List<ProviderInfo> news = new ArrayList<ProviderInfo>();
              news.add(providerInfo);
              memoryCache.put(serviceName, new ProviderGroup(news));
          }
          // 备份到文件 改为定时写
          needBackup = true;
          doWriteFile();
  
          if (subscribe) {
              notifyConsumerListeners(serviceName, memoryCache.get(serviceName));
          }
      }
docs: 注册单条服务信息
  
  @param appName      应用名
  @param serviceName  服务关键字
  @param providerInfo 服务提供者数据