Netflix Archaius 分布式配置管理依赖构件


Archaius 配置管理API,包含一系列配置管理API,提供动态类型化属性、线程安全配置操作、轮询框架、回调机制等功能。archaius是Netflix公司开源项目之一,基于java的配置管理类库,主要用于多配置存储的动态获取。主要功能是对apache common configuration类库的扩展。在云平台开发中可以将其用作分布式配置管理依赖构件。同时,它有如下一些特性:动态类型化属性高效和线程安全的配置操作配置改变时的回调机制轮询框架JMX,通过Jconsole检查和调用操作属性组合配置
p_w_picpath.png对于传统的单体应用,properties等配置文件可以解决配置问题,同时也可以通过maven profile配置来区别各个环境,但在一个几百上千节点的的微服务生态中,微服务采用多种语言开发,配置文件格式多样,如何把每个微服务的配置文件开发云主机域名都进行更新,并且很多时候还需要重启服务,是一件无法忍受的事情。所以,对于微服务架构而言,一个通用的配置中心是必不可少的。新接口逻辑上线,老接口面临迁移,开发测试完成后,马上要上线。但是接口调用发的研发同学对新接口的稳定性、性能存在一定的质疑,为了避免风险,要求可以上线后紧急切换回老接口。这时候我们就需要一个手动开关。所以对于类似需求,一个通用的配置中心是必不可少的。Archaius提供的DynamicIntProperty类可以在配置发生变化时动态地获取配置,并且不需要重启应用,而底层的配置存储,建议使用zookeeper进行存储,Archaius作为客户端的类库使用。同理,可以使用zookeeper client 封装一个基于zookeeper的 ConcurrentMapConfiguration在设置的时刻获取配置,配置源不会随着System#properties里面的配置更新而更新更新配置方法不会更新实际的property文件,仅仅为更新内存数据,重启后失效微服务都从配置中心动态的读取配置信息,而配置中心又在从配置源同步配置,所以这里就很自然的出现了一个读写安全的问题,好消息是Archaius已经解决了这个问题,Archaius是线程安全的,读写可以并发进行。个人介绍:高广超:多年一线互联网研发与架构设计经验,擅长设计与落地高可用、高性能互联网架构。本文首发在高广超的简书博客转载请注明!

相关推荐: 火狐访问HTTPS网站显示连接不安全的解决方法

在小强python全栈自动化测试班中偶然遇到了该现象特此总结下。官网:http://xqtesting.sxl.cn现象:访问https网站的时候火狐提示不安全,不让访问,其他浏览器没事解决方案:在地址栏键入”about:config”点击“我了解此风开发云主…

免责声明:本站发布的图片视频文字,以转载和分享为主,文章观点不代表本站立场,本站不承担相关法律责任;如果涉及侵权请联系邮箱:360163164@qq.com举报,并提供相关证据,经查实将立刻删除涉嫌侵权内容。

(0)
打赏 微信扫一扫 微信扫一扫
上一篇 05/05 22:16
下一篇 05/05 22:29