配置动态更新

动态更新配置的步骤

注意:Viper本身不是并发安全的,在实现配置动态更新时,要注意采用锁机制等方式来保证Viper并发读写的安全。

1,更新配置源中的配置

在Viper支持的配置源中,命令行参数、环境变量是在进程启动时一次性读取的,不支持动态更新。本地配置文件和远程配置文件可以支持动态更新,直接修改配置文件即可。

2,更新加载到内存中的配置

Viper支持监听本地配置文件的变化,同时允许注册文件变化时的回调函数,借助这个功能可以实现本地配置文件的动态更新

3,配置的动态生效

不同配置的使用方式不同,动态生效方式也就不同,大概可以分为两类:

  • 有些配置,每次使用时都是读取最新的值,因此只要更新了内存中的配置,就会即时生效
  • 有些配置,比如数据库凭据,可能需要重建连接池才能生效

Ref

浅谈Golang配置管理
ConfigMap的热更新
Go 每日一库之 viper

posted @   惜阳茕影  阅读(15)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
点击右上角即可分享
微信分享提示