🚀 发现 gone-io/gone:一个优雅的 Go 依赖注入框架!💻 它让您的代码更简洁、更易测试。🔍 框架轻量却功能强大,完美平衡了灵活性与易用性。⭐ 如果您喜欢这个项目,请给我们点个星!🌟 您的支持是我们前进的动力!🤝 欢迎贡献代码或提出建议,一起让 gone 变得更好!👨💻 #golang #依赖注入 #开源 👉github.com/gone-io/gone
本文原地址:https://github.com/gone-io/goner/blob/main/viper/README.md
相关内容:
- Gone v2 配置管理1:使用 Gone Viper 组件进行本地配置
- Gone v2 配置管理2:使用 goner/viper/remote链接远程的配置中心,支持etcd、consul、firestore、nats
- Gone v2 配置管理3:连接 Nacos 配置中心
- Gone v2 配置管理4:连接Apollo配置中心
文章目录
Gone Viper Remote
什么是Gone Viper Remote?
remote包是Gone框架的重要组件,它对Viper配置系统进行了扩展,让你的应用能够从远程配置中心(如etcd、consul等)获取配置信息。该包基于spf13/viper/remote构建,专门为Gone框架优化,提供无缝集成体验。
想象一下,你有多个应用实例需要共享同一套配置,或者需要在不重启应用的情况下动态更新配置 — 这正是Gone Viper Remote的用武之地。
为什么选择Gone Viper Remote?
- 集中式配置管理:所有应用实例可以从同一个配置中心获取最新配置
- 实时配置更新:支持配置热更新,无需重启应用
- 更高的安全性:支持加密配置,保护敏感信息
- 本地配置兜底:当远程配置不可用时自动回退到本地配置
- 多种数据源支持:适配多种流行的配置中心
开始使用
第一步:安装包
go get github.com/gone-io/goner/viper/remote
第二步:在应用中加载组件
import (
"github.com/gone-io/gone/v2"
"github.com/gone-io/goner/viper/remote"
)
func main() {
// 创建Gone应用并加载remote组件
gone.NewApp(remote.Load).Run()
}
第三步:配置远程提供者
在你的配置文件(如config/default.yaml)中设置远程配置提供者:
# config/default.yaml
viper:
remote:
type: yaml
watch: true # 启用配置热更新
watchDuration: 5s # 每5秒检查一次配置变化
useLocalConfIfKeyNotExist: true # 远程找不到时使用本地配置
providers:
- provider: etcd # 提供者类型
endpoint: localhost:2379 # 提供者地址
path: /config/myapp # 配置路径
configType: json # 配置格式
keyring: # 用于加密配置的密钥(可选)
- provider: consul
endpoint: localhost:8500
path: myapp/config

最低0.47元/天 解锁文章
951

被折叠的 条评论
为什么被折叠?



