Apollo(阿波罗)是携程框架部门研发的分布式配置中心,能够集中化管理应用不同环境、不同集群的配置,配置修改后能够实时推送到应用端,并且具备规范的权限、流程治理等特性,适用于微服务配置管理场景。
如果在使用golang重构java的过程中,使用到了分布式配置中心Apollo,那么最快的方式就是使用原来的配置,保持最平滑的迁移,这个时候你就需要一个Apollo的golang客户端,agollo可以是你的一个选择。
使用指南
1.1.环境要求
Go1.11+(最好使用Go1.12)
1.2.依赖
1.2.1.使用goget方式
1.2.2.使用gomod方式
go.mod
执行
import
FAQ
为什么要加+incompatible
go.mod不能下载agollo的解决方法
1.3.必要设置
Apollo客户端依赖于AppId,Environment等环境信息来工作,所以请确保阅读下面的说明并且做正确的配置:
main:yourapplication
app.properties(必要):连接服务端必要配置
seelog.xml(非必要)
1.3.1.配置
加载优先级:
类配置
环境变量指定配置文件
默认(app.properties)配置文件
1.3.1.1.类配置
会覆盖app.properties中配置,在调用Start方法之前调用
类配置agollo的demo:
1.3.1.2.环境变量指定配置文件
Linux/Mac
配置文件内容与app.properties内容一样
1.3.1.3.文件配置-app.properties
1.开发:请确保app.properties文件存在于workingdir目录下
2.打包后:请确保app.properties文件存在于与打包程序同级目录下,参考1.3.必要配置。
目前只支持json形式,其中字段包括:
appId:应用的身份信息,是从服务端获取配置的一个重要信息。
cluster:需要连接的集群,默认default
namespaceName:命名空间,默认:application(具体定义参考:namespace),多namespace使用英文逗号分割,非key/value配置(json,properties,yml等),则配置为:namespace.文件类型。如:namespace.json
ip:Apollo的CONFIGSERVICE的ip,非METASERVICE地址
配置例子如下:
一般配置
多namespace配置
非key/valuenamespace配置
1.4日志组件
参考:
自定义日志组件
使用seelog日志组件
启动方式
异步启动agollo
场景:启动程序不依赖加载Apollo的配置。
同步启动agollo(v1.2.0+)
场景:启动程序依赖加载Apollo的配置。例:初始化程序基础配置。
启动agollo-自定义logger控件
启动agollo-自定义cache控件(v1.7.0+)
启动agollo-自定义各种控件(v1.8.0+)
监听变更事件(阻塞)
基本方法
String
Int
Float
Bool
切换namespace获取配置
根据namespace获取配置
String
Int
Float
Bool
自定义日志组件
复制以下代码至项目中,并在其中引用日志组件的方法进行打印log
启动
自定义缓存组件
声明自定义缓存组件
使用自定义缓存
本文内容不用于商业目的,如涉及知识产权问题,请权利人联系51Testing小编(021-64471599-8017),我们将立即处理