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函数中.