将nacos作为go的配置中心和注册中心
example | ||
example_config.yaml | ||
go.mod | ||
nacos_manager.go | ||
nacos_options.go | ||
README.md | ||
viper_manager.go | ||
viper_remote.go |
nacos-viper-remote
Golang configuration,use to Viper reading from remote Nacos config systems. Viper remote for Naocs.
runtime_viper := viper.New()
remote.SetOptions(&remote.Option{
Url: "localhost",
Port: 80,
NamespaceId: "public",
GroupName: "DEFAULT_GROUP",
Config: remote.Config{ DataId: "config_dev" },
Auth: nil,
})
err := remote_viper.AddRemoteProvider("nacos", "localhost", "")
remote_viper.SetConfigType("yaml")
_ = remote_viper.ReadRemoteConfig() //sync get remote configs to remote_viper instance memory . for example , remote_viper.GetString(key)
_ = remote_viper.WatchRemoteConfigOnChannel() //async watch , auto refresh configs.
appName := remote_viper.GetString("key") // sync get config by key
fmt.Println(appName)