golang开源配置管理组件-go-archaius介绍
go-archaius 是golang编写的开源配置管理组件,支持多种配置加载方式,github地址:https://github.com/go-chassis/go-archaius
特点:
Ø微服务配置管理
Ø配置热更新
Ø变更事件通知
Ø多配置源
Ø简单的用户接口
在Sep 25, 2019之后的版本中进行了重构,简化的之前冗余的config factory层;如下图:
l1、Source:配置源接口,通过实现一个source来接入不同配置源,定义配置源的行为函数列表:设置、删除、获取配置、优先级、标签,实现函数继承接口;
l2、Config factory:配置工厂,管理配置源,archaius调用该工厂;
l3、Config manager:源管理,配置key与源存储关系,事件管理;
l4、Config center source:配置中心源,包含client对象,可用于访问配置中心服务,包含Apollo和Servicecomb;
l5、CLI source:配置命令行解析源;
l6、File source:配置文件源,可传入file handler,定制文件处理;fsnotify跨平台文件变化监控;
l7、Env source:环境变量配置源;
l8、默认配置优先级:Config center > CLI > ENV > file,优先使用高优选级的配置;
l9、屏蔽底层实现,提供统一友好就给给用户;
l10、Event Dispatcher:用户可以通过Archaius API监听配置变化,当source的配置项新增、更新、删除时,都会通知监听器;
流程:
archaius初始化流程:
主要用到的类:
取配置值:
remote sorce 远程配置读取源初始化:
下一步扩展:
Ø共享内存配置源
加入从共享内存管理配置的源
Ø配置本地化机制
读取配置后本地保存,避免每次从中心配置服务拉取,减轻中心配置服务压力
ØAgent配置管理模式
本机单agent加载配置,减轻中心服务器压力
参考:
1、Go语言分布式系统配置管理实践--go archaius https://blog.csdn.net/weixin_33921089/article/details/88039366
2、Go语言分布式系统配置管理实践--go archaius https://www.codercto.com/a/34577.html
到此这篇关于“golang开源配置管理组件-go-archaius介绍”的文章就介绍到这了,更多文章或继续浏览下面的相关文章,希望大家以后多多支持JQ教程网!您可能感兴趣的文章:
golang开源配置管理组件-go-archaius介绍
Go语言微服务开发框架实践-go chassis(中篇)
Go 语言编程 — 程序运行环境
想系统学习GO语言(Golang
1.14 Go语言工程结构详述
Golang笔记:包管理机制
从零开始学习GO语言-搭建Go语言开发环境-快速开发入门第一个小程序
使用 VS Code 快速搭建 Golang 开发环境
go run main.go 参数_Go语言入门:Hello world
Golang包管理详解