V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
DarkCat123
V2EX  ›  问与答

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

  •  
  •   DarkCat123 · 2020-11-01 20:58:32 +08:00 · 896 次点击
    这是一个创建于 1483 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

    主要面临了这样的问题:

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

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

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

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

    4 条回复    2020-11-02 11:07:21 +08:00
    swulling
        1
    swulling  
       2020-11-01 21:35:25 +08:00 via iPhone
    你担心的那个问题,可以使用 default 配置解决

    有个项目 200 个配置项,真正写到配置文件里的只有 10 个。其他的都是有备无患,使用默认值就行了。
    xabc
        2
    xabc  
       2020-11-01 22:41:19 +08:00
    saltstack
    DarkCat123
        3
    DarkCat123  
    OP
       2020-11-01 23:44:04 +08:00
    @swulling 但是我 leader 又不提倡我使用默认值。。因为我们为了避免加载配置文件需要重启进程(虽然有 watch,但是我们的配置系统下发并不会触发 watch hook )……所以用的都是运行时读取配置的时候动态读取。
    如果读取了默认值会给 warning 。。他觉得可能不太好……
    算了,我感觉越说越绕,感觉问题应该在我们基础组件不太行。。
    AlkTTT
        4
    AlkTTT  
       2020-11-02 11:07:21 +08:00
    试一下用 Apollo 做管理
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2816 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 11:52 · PVG 19:52 · LAX 03:52 · JFK 06:52
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.