golang开源配置管理组件-go-archaius介绍

go-archaius是一款用Golang编写的开源配置管理组件,支持微服务配置管理、配置热更新、事件通知及多配置源。它简化了配置加载流程,提供统一的用户接口,并允许监听配置变化。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

go-archaius 是golang编写的开源配置管理组件,支持多种配置加载方式,github地址:https://github.com/go-chassis/go-archaius

特点:

Ø微服务配置管理

Ø配置热更新

Ø变更事件通知

Ø配置源

Ø简单的用户接口

Sep 25, 2019之后的版本中进行了重构,简化的之前冗余的config factory层;如下图:

l1Source:配置源接口,通过实现一个source来接入不同配置源,定义配置源的行为函数列表:设置、删除、获取配置、优先级、标签,实现函数继承接口;

l2Config factory:配置工厂,管理配置源,archaius调用该工厂;

l3Config manager源管理,配置key与源存储关系,事件管理;

l4Config center source:配置中心源,包含client对象,可用于访问配置中心服务,包含ApolloServicecomb

l5CLI source:配置命令行解析源;

l6File source:配置文件源,可传入file handler,定制文件处理;fsnotify跨平台文件变化监控;

l7Env source:环境变量配置源;

l8、默认配置优先级:Config center > CLI > ENV > file,优先使用高优选级的配置;

l9、屏蔽底层实现,提供统一友好就给给用户;

l10Event Dispatcher:用户可以通过Archaius API监听配置变化,当source的配置项新增、更新、删除时,都会通知监听器;

流程:

archaius初始化流程:

主要用到的类:

取配置值:

remote sorce 远程配置读取源初始化:

下一步扩展:

Ø共享内存配置源

加入从共享内存管理配置的源

Ø配置本地化机制

读取配置后本地保存,避免每次从中心配置服务拉取,减轻中心配置服务压力

ØAgent配置管理模式

本机单agent加载配置,减轻中心服务器压力

参考:

1、Go语言分布式系统配置管理实践--go archaius  https://blog.youkuaiyun.com/weixin_33921089/article/details/88039366

2、Go语言分布式系统配置管理实践--go archaius  https://www.codercto.com/a/34577.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值