项目地址:https://github.com/apache/servicecomb-kie
这次我想分享如何管理分布式应用系统中的配置项,我们的实践路程与遇到的问题。
为什么要用配置中心
我相信大家在开发的过程中,经常会遇到的问题是:
-
我有个新的特性,但是我需要对其进行控制,在必要时能将功能关闭或打开
-
链接数据库的线程池需要调整
-
访问某个目标的超时时间需要调整
-
调节任务执行器的线程池大小
-
随着业务发展,几百,几千的虚机或是容器实例配置需要管理
难道每次配置我都要去代码库中改变然后重新发布版本么?
我在曾经的项目中就是这么做的,得益于当时完善的CICD,我们只需要几分钟就可以完成这样的一次变更,但是依然要面临进程的重启,所以之后的实践中我们直接将配置管理放入到了编程框架中,并配以中心式的配置管理服务。
使用编程框架
我在这篇分享中有大量分享欢迎参考:Go语言分布式系统配置管理实践--go archaius
有了这次改变后我们就做到了在运行时让配置生效,不用通过流