go使用nacos配置中心进行服务组件配置

go使用nacos配置中心进行服务组件配置.这里因为没用viper 进行本地配置文件的解析.所以使用的直接是nacos的明文配置.

zhe

func initNacosFrom() {
   serverConfigs := []constant.ServerConfig{ //指定nacos服务地址.配置连接信息
      {
         //IpAddr: Nacos.Host, //这里是指定nacos的服务连接地址
         //Port:   Nacos.Port, //指定端口号
         //
         IpAddr: "192.168.75.6", //这里是指定nacos的服务连接地址
         Port:   8848,           //指定端口号
      },
   }
   clientConfig := constant.ClientConfig{ //配置客户端配置信息.用来做客户端初始化配置.
      TimeoutMs:   5000,                                   //连接超时时间
      NamespaceId: "8774e75a-fbe8-4b29-8194-4e70f482924d", //这里写的是命名空间的地址.用哪个就写哪个,这里用的是dev的命名空间
      //NamespaceId:          , //这里写的是命名空间的地址.用哪个就写哪个,这里用的是dev的命名空间
      CacheDir:             "nacos/cache", //nacos缓存目录
      NotLoadCacheAtStart:  true,          //配置是否在服务启动时直接加载缓存??
      UpdateCacheWhenEmpty: false,         //配置当缓存为空的时候进行主动更新
      LogDir:               "nacos/log",   //日志目录
      LogLevel:             "debug",       //日志级别
   }
   configClient, err := clients.CreateConfigClient(map[string]interface{}{ //根据nacos的地址信息和需要的配置页面信息生成一个客户端.
      "serverConfigs": serverConfigs,
      "clientConfig":  clientConfig,
   })
   if err != nil {
      panic(err)
   }
   content, err := configClient.GetConfig(vo.ConfigParam{ //读取在页面上配置好de相关信息.
      // 这里用的是dev分组中的account_web配置.以后这里的配置可以使用viper进行参数配置.
      DataId: "account_all.json",
      Group:  "dev",
   })
   if err != nil {
      panic(err)
   }
   err = json.Unmarshal([]byte(content), &AppConf)
   if err != nil {
      fmt.Println(err)
      zap.S().Error("反序列化错误")
   }
}

 这里声明的方法信息用在初始化配置时使用.按在init函数中.

你可能感兴趣的:(go语言,分布式,golang)