apollo 配置中心,
目录
前言夸库斯的配置构成微文件配置设计集成阿波罗
前言
夸库斯默认的配置文件和板簧罩一样,默认读取应用程序.属性文件。
阿波罗是一个配置集中管理的开源项目,已被广泛应用。
下面我们就分析下夸库斯的配置加载结构,将阿波罗集成进来。
eclipse微配置文件配置:https://github。com/eclipse/micro profile-Config/
小黑麦-配置:https://github。com/小黑麦/小黑麦-配置
Quarkus的config构成
夸库斯的配置功能是基于黯然失色微配置文件配置配置规范而来的,微配置文件配置本身不提供配置功能的实现,只提供了基础的配置美国石油学会(美国石油协会)抽象,小黑麦-配置是这个美国石油学会(美国石油协会)的其中一个实现夸库斯里用的就是小黑麦-配置.
microProfile config设计
1、可以通过ConfigProvider#getConfig()访问应用程序的当前配置。
2、一个配置包括从org。月食。微侧写。配置。SPI。配置源接口收集的列表。
这些配置源根据其序号进行排序。这样,可以从外部以较低的重要性覆盖配置。
默认情况下,有3个默认的配置源:
系统。get properties()(ordin lal=400)系统。getenv()(序号=300)类路径上的所有元INF/微配置文件配置。性能文件。(默认序数=100,可通过每个文件内的配置序号属性分别配置)因此,可以在与应用程序打包在一起的上述文件中指定默认值,以后可以为每个部署覆盖默认值。较高的序数优先于较低的序数。
从微配置文件配置设计来看,配置文件应该是元INF/微配置文件配置。性能文件才对,但是除了上面默认的三个配置源外夸库斯也提供了一个,代码见:
io。夸尔库斯。运行时。配置。applicationpropertieconfigsource,
如:
公共抽象类applicationpropertieconfigsource扩展了propertieconfigsource { private static final long serial version uid=-4694780118527396798 l;静态最终字符串APPLICATION _ PROPERTIES= APPLICATION。属性;静态最终字符串MP _ PROPERTIES= META-INF/micro profile-config。属性;ApplicationPropertiesConfigSource(InputStream is,int ordinal){ super(read PROPERTIES(is),APPLICATION_PROPERTIES,ordinal);} ApplicationPropertiesConfigSource(InputStream is,String nm,int ordinal){ super(read properties(is),nm,ordinal);}私有静态映射读取属性(最终InputStream为){ if(is==null){返回集合。空映射();} try(Closeable ignored=is){ try(InputStreamReader ISR=new InputStreamReader(is,StandardCharsets .UTF _ 8)){ try(缓冲读取器br=新缓冲读取器(ISR)){最终属性Properties=新属性();属性。负载(br);返回(地图)(地图)属性;} } } catch(io异常e){抛出新的io错误(e);} }}
集成apollo
综上,集成阿波罗就变得异常简单了,首先实现配置源接口,我的实现如下:
/* * * @作者kl : http://kailing.pub * @版本1.0 * @日期2020/7/8 11:15 */公共类ApolloConfigSource实现CONFIG SOURCE { private final静态字符串CONFIG _ SOURCE _ NAME= Apollo专用最终配置配置=配置服务。getappconfig();@ Override public SetgetPropertyNames(){ return config。getpropertynames();} @ Override public int get序数(){ return 600} @ Override公共Map get properties(){ Map properties=new HashMap(6);for(String key : getproperty names()){ properties。put(key,config.getProperty(key,null));}返回属性;} @覆盖公共字符串getValue(字符串属性名){ return config。getproperty(属性名,空);} @覆盖公共字符串getName(){ return CONFIG _ SOURCE _ NAME;}}第二步,在元信息/服务下,创建文件
org。月食。微侧写。配置。SPI。配置源
将你的实现全路径名称写入这个文件,声明配置源即可,如下图所示:
现在,你可以将你的应用程序.属性中的所有配置全部复制到阿波罗中了,然后删除这个文件,重新启动项目,你会发现一起运行正常
以上就是夸库斯集成阿波罗配置中心的详细内容,更多关于夸库斯集成阿波罗配置的资料请关注盛行信息技术其它相关文章!
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。