如果要统一配置文件格式,你们会选哪种 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
请不要在回答技术问题时复制粘贴 AI 生成的内容
index90

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

  •  
  •   index90 2019 年 4 月 23 日 8620 次点击
    这是一个创建于 2559 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

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

    欢迎补充。

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

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

    最终 yaml 胜出~
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     915 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 306ms UTC 19:24 PVG 03:24 LAX 12:24 JFK 15:24
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86