配置文件的管理,有什么原则和好的办法吗?

2020-11-01 20:58:32 +08:00
 DarkCat123

分布式系统里大家讨论监控、日志方面汗牛充栋。 但是对于配置文件的管理似乎规则很少,想看看有没有什么原则或者文章介绍?

主要面临了这样的问题:

  1. 目前项目用的是巨石架构,配置文件使用 yaml 配置文件越来越膨胀:
    • 维护多个分区不同版本,经常遗漏配置文件;轻则接口不可用,重则进程 panic 。
    • 配置文件很多,越来越乱了……
  2. 最好不要引入新组件 —— 比如 etcd 。不能引入强相关的云服务(因为有私有化部署的需要)。

这块有什么好的原则和书籍吗?

我每次也很纠结,对于一个新的东西要不要加个配置文件控制一下……加了吧,其实几年都不一定有人改,不加吧,真的要改了能烦死你……

什么样的情况要加配置,什么情况下不加,配置主要用来管理什么,对于这块有什么维护和分发的策略,这里有什么最佳实践可以分享吗?

854 次点击
所在节点    问与答
4 条回复
swulling
2020-11-01 21:35:25 +08:00
你担心的那个问题,可以使用 default 配置解决

有个项目 200 个配置项,真正写到配置文件里的只有 10 个。其他的都是有备无患,使用默认值就行了。
xabc
2020-11-01 22:41:19 +08:00
saltstack
DarkCat123
2020-11-01 23:44:04 +08:00
@swulling 但是我 leader 又不提倡我使用默认值。。因为我们为了避免加载配置文件需要重启进程(虽然有 watch,但是我们的配置系统下发并不会触发 watch hook )……所以用的都是运行时读取配置的时候动态读取。
如果读取了默认值会给 warning 。。他觉得可能不太好……
算了,我感觉越说越绕,感觉问题应该在我们基础组件不太行。。
AlkTTT
2020-11-02 11:07:21 +08:00
试一下用 Apollo 做管理

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/720783

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX