基于zookeeper&viper 的 golang 动态配置使用库 (JSON格式)

Bulesxz · 2019-09-01 21:17:18 · 1751 次点击 · 预计阅读时间 1 分钟 · 大约8小时之前 开始浏览    
这是一个创建于 2019-09-01 21:17:18 的文章,其中的信息可能已经有所发展或是发生改变。

背景

项目目前基于 python 和golang 开发 ,业务上有很多配置文件,而且很多配置文件 python 和golang,以及不同python 服务 是共用的, 为了 一份配置多处生效,就使用了配置中心,定时从git 同步到zookeeper 然后业务读取zookeeper 配置,业务上封装了配置读取和更新,golang 版本库 go_config_center 应运而生

git 地址 https://github.com/Bulesxz/go_config_center.git

基于zookeeper&viper 的 golang 动态配置使用库 (JSON格式)

此库通过zookeeper获取json 配置文件,viper读取配置内容,当zookeeper内容变化时,viper内容自动更新(协程序安全);并且本地缓存配置文件,当zookeeper 不可用时,读取本地缓存 保证服务可用

  1. 使用方法

    center := NewConfigCenter("", nil, "")
    module := center.GetModule("/test.json")
    fmt.Println("--------------------a:", module.GetInt("a"))
    
  2. TODO

    • 支持多种格式 例如 xml,yaml等
    • 支持 etcd, consul 配置中心
    • 支持 自定义watch ,替换viper 自行监控数据内容变化 并且自行解析

有疑问加站长微信联系(非本文作者))

入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889

1751 次点击  
加入收藏 微博
暂无回复
添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传