V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
GeekHub
index90
V2EX  ›  程序员

如果要统一配置文件格式,你们会选哪种

  •  
  •   index90 · 2019-04-23 10:09:40 +08:00 · 5547 次点击
    这是一个创建于 519 天前的主题,其中的信息可能已经有所发展或是发生改变。

    为什么要统一配置文件格式这个问题就别问了,一个答案,方便运维人员维护。 PS:同时存在多种语言开发的服务组件

    1. .ini
    2. .properties
    3. .json
    4. .yaml
    5. .toml

    欢迎补充。

    51 条回复    2019-05-07 20:01:08 +08:00
    37Y37
        1
    37Y37   2019-04-23 10:18:58 +08:00
    推荐下我们目前管理配置文件的方式,对运维有好,配合很爽:
    https://mp.weixin.qq.com/s/uGUvV4jl4YIvNztuepdC8A
    xenme
        2
    xenme   2019-04-23 10:22:43 +08:00
    xml?
    agdhole
        3
    agdhole   2019-04-23 10:23:36 +08:00
    xml
    xnode
        4
    xnode   2019-04-23 10:24:37 +08:00
    xml
    runze
        5
    runze   2019-04-23 10:25:11 +08:00
    toml > jsonnet > json > rc、ini 等 > xml > yaml
    pmispig
        6
    pmispig   2019-04-23 10:26:42 +08:00
    我选择 yaml
    1800x
        7
    1800x   2019-04-23 10:31:49 +08:00 via Android
    yaml
    prolic
        8
    prolic   2019-04-23 10:33:22 +08:00   ❤️ 2
    toml 天下第一
    murmur
        9
    murmur   2019-04-23 10:34:18 +08:00
    xml 配合定义的优势是其他配置文件没法比的 尤其是大型项目
    tingyunsay
        10
    tingyunsay   2019-04-23 10:34:55 +08:00
    反正 ini 不好用,嵌套 kv 多几层我没找到方法使用
    AngryMagikarp
        11
    AngryMagikarp   2019-04-23 10:35:25 +08:00
    consul
    waising
        12
    waising   2019-04-23 10:35:49 +08:00
    yaml 在用 想用 toml
    zhengxiaowai
        13
    zhengxiaowai   2019-04-23 10:37:02 +08:00
    json 无法注释,做配置文件找虐啊
    luozic
        14
    luozic   2019-04-23 10:56:06 +08:00
    yaml swagger 等等一堆 無縫接入,你搞個啥的玩個啥?
    index90
        15
    index90   2019-04-23 11:51:48 +08:00
    @tingyunsay 之前我一直用 ini,因为好理解,够清晰,学习成本低。

    关于嵌套,我采取的办法就是“平铺”。理由是,如果配置嵌套,复杂度就会提高,容易出错。所以将这些问题全部扼杀在开发之初。除了数组外,目前还没遇到平铺无法解决的情况。
    flanker
        16
    flanker   2019-04-23 12:03:23 +08:00
    yaml 投一票
    siganushka
        17
    siganushka   2019-04-23 12:19:01 +08:00
    yaml +1
    conn4575
        18
    conn4575   2019-04-23 12:24:48 +08:00 via Android
    yaml+1
    gamexg
        19
    gamexg   2019-04-23 12:26:12 +08:00 via Android
    toml
    itning
        20
    itning   2019-04-23 12:26:30 +08:00 via Android
    yml
    sariya
        21
    sariya   2019-04-23 12:27:11 +08:00 via Android
    @index90 配置项多了用 ini 就比较乱,用 xml 有层次结构就好多了,特别是一些参数有很多属性时
    iwong0exv2
        22
    iwong0exv2   2019-04-23 12:36:17 +08:00 via Android
    必须 toml 啊!居然还有那么多投 yaml 的…
    iwong0exv2
        23
    iwong0exv2   2019-04-23 12:37:18 +08:00 via Android
    @tingyunsay toml 就能解决你说的问题
    Track13
        24
    Track13   2019-04-23 12:38:38 +08:00 via Android
    yaml 吧,虽然缩进坑过我
    huiyifyj
        25
    huiyifyj   2019-04-23 12:40:33 +08:00 via Android
    yaml > json > ini.
    话说 toml 和 ini 有些相似
    lihongjie0209
        26
    lihongjie0209   2019-04-23 12:40:37 +08:00
    首先排除 yaml, 垃圾
    zhouzm
        27
    zhouzm   2019-04-23 12:47:04 +08:00
    之前用 yaml,但看过 toml 后打算试试
    zyp0921
        28
    zyp0921   2019-04-23 13:25:14 +08:00
    我选择用 uci- -
    uci 天下无敌
    index90
        29
    index90   2019-04-23 13:25:32 +08:00   ❤️ 3
    yaml 号称对人类阅读友好,不知道为何我觉得 yaml 很难看,不过我同时也觉得 python 的代码风格也很难阅读,对齐对半天……
    fire9
        30
    fire9   2019-04-23 13:48:34 +08:00
    配置文件 Toml 是王道啊.
    Wisho
        31
    Wisho   2019-04-23 13:54:07 +08:00
    @index90 哈哈哈,我个人也觉得 yaml 很不人类友好。
    guog
        32
    guog   2019-04-23 14:02:34 +08:00 via Android   ❤️ 1
    @index90 买个游标卡尺
    secsilm
        33
    secsilm   2019-04-23 14:08:26 +08:00 via Android
    .py😀
    Fitz
        34
    Fitz   2019-04-23 16:41:07 +08:00
    我以前也支持 toml,但自从配了 traefik 之后,我开始觉得还是 yaml 更清晰一点。
    Mmiracle110
        35
    Mmiracle110   2019-04-23 16:45:55 +08:00
    配置中心
    forestyuan
        36
    forestyuan   2019-04-23 19:47:08 +08:00
    我喜欢用 xml
    lfzyx
        37
    lfzyx   2019-04-23 19:49:06 +08:00
    用 xml 的都是快被淘汰的 java 开发吧
    hjc4869
        38
    hjc4869   2019-04-23 19:49:53 +08:00
    快被淘汰的 .NET 开发也表示喜欢用 XML
    mritd
        39
    mritd   2019-04-23 20:09:03 +08:00 via iPhone
    快被淘汰的 java go 容器运维表示 xml 这个数据结构可以描述太多东西
    zjsxwc
        40
    zjsxwc   2019-04-23 20:10:23 +08:00 via Android
    xml 毫无疑问
    lzvezr
        41
    lzvezr   2019-04-23 20:20:47 +08:00
    xml 作为配置文件还是太重了一些, 毕竟 xhtml
    lithiumii
        42
    lithiumii   2019-04-23 20:31:24 +08:00
    yaml
    正好今天开始转
    night98
        43
    night98   2019-04-23 23:41:39 +08:00
    楼上说 xml 的是认真的吗,是要配置核弹还是火箭起飞程序? yaml 挺好的
    jiom
        44
    jiom   2019-04-24 09:26:21 +08:00
    我会选择 yaml>xml>properties
    annielong
        45
    annielong   2019-04-24 10:03:52 +08:00
    当然是 xml,通用
    ysc3839
        46
    ysc3839   2019-04-24 10:09:04 +08:00 via Android
    我选 yaml。
    ice2neet
        47
    ice2neet   2019-04-24 10:58:47 +08:00
    yaml 吧
    xfriday
        48
    xfriday   2019-04-24 11:54:54 +08:00
    yaml+1
    ifaii
        49
    ifaii   2019-04-24 12:56:06 +08:00 via iPhone
    yaml 写起来爽
    GiantHard
        50
    GiantHard   2019-04-24 13:24:16 +08:00
    toml + 1
    yuankui
        51
    yuankui   2019-05-07 20:01:08 +08:00
    我个人有两点要求
    1. 最好是能直接和 java 的 pojo 互转的(淘汰掉 xml )
    2. 方便编写(淘汰掉 json )
    3. 简洁 (淘汰掉 json )
    4. 能体现层次性(淘汰掉 properties )

    最终 yaml 胜出~✌️
    关于   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   1224 人在线   最高记录 5168   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 31ms · UTC 18:32 · PVG 02:32 · LAX 11:32 · JFK 14:32
    ♥ Do have faith in what you're doing.