V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
• 请不要在回答技术问题时复制粘贴 AI 生成的内容
index90
V2EX  ›  程序员

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

  •  
  •   index90 · Apr 23, 2019 · 8621 views
    This topic created in 2561 days ago, the information mentioned may be changed or developed.

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

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

    欢迎补充。

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

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

    最终 yaml 胜出~✌️
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   3574 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 201ms · UTC 11:09 · PVG 19:09 · LAX 04:09 · JFK 07:09
    ♥ Do have faith in what you're doing.