跳到主要内容

其他注册中心

goner/viper/remote组件 通过集成github.com/spf13/viper/remote,可以支持多种配置中心的使用,包括:

  • Etcd/Etcd3
  • Consul
  • NATS

组件安装

gonectl install goner/viper/remote

配置

viper.remote:
providers:
- provider: consul
endpoint: http://127.0.0.1:8848
path: /config.yaml
configType: yaml
keyring:
watch: true
watchDuration: 5s
useLocalConfIfKeyNotExist: true

配置说明

配置项说明默认值是否必选
viper.remote.providers配置中心地址,数组,支持多个配置中心
viper.remote.providers.provider配置中心类型,取值:consul、etcd、etcd3、nats、firestore
viper.remote.providers.endpoint配置中心地址
viper.remote.providers.path配置中心路径
viper.remote.providers.configType配置中心格式
viper.remote.providers.keyring配置中心密钥,用于加密存储的gpg密钥
viper.remote.watch是否监听配置变化false
viper.remote.watchDuration监听配置变化的时间周期5s
viper.remote.useLocalConfIfKeyNotExist如果 key 不存在,是否使用本地配置true

示例

consul

执行下面命令,从模块创建项目:

gonectl create -t config/center/consul consul-demo

etcd

执行下面命令,从模块创建项目:

gonectl create -t config/center/etcd etcd-demo

注意事项

goner/viper/remote 组件实现动态配置,是通过周期性的拉取配置中心的配置,然后更新本地配置,不能做到实时推送配置,所以不能保证配置的实时性。