1. INI 配置文件
INI 配置文件 格式简单,设计方便;易于理解— 常用于小型软件(配置结构简单的场景)
推荐资料:
简要备注:
INI 只规定文件的格式,设计者需要设计代码对文件进行读写操作(设计时可能的考虑有)
- 使用开源代码 或者自行设计
- C/C++ Java shell等实现设计
- 线程安全问题
2. XML 配置文件
XML 相比INI 配置文件 适合更复杂的层级/树状结构,同样推荐上面的博文对XML的描述
备注:XML Json Yaml 的功能定位
- 用于层次化/树状结构的数据存储(INI文件是不具备树状描述能力的)
- 可在Client 和Server 之间的传输,从而完成数据交换,适用于前端应用
3. Json 配置文件
Json vs XML:
- Json 常用于前端作为JS语言的配置文件。Json 书写风格更简短,便于阅读
- Json 可以使用schema定义文件格式,作为一中应用特性
- Json 渐渐的取代了XML的使用地位(配置存储)
4. Yaml 配置文件
Yaml vs Json:
- Json 的定位是同时具备可阅读性以及通用性(解析效率)
- YAML 关注可阅读性:
主要体现在加入了注释和引用机制,同时省去了让人眼花的方括号和花括号。 - YAML在提高阅读性的同时,丧失了Json的解析效率
5. proto 配置文件(protocol buffers)
- protocol buffer 相比于 Json,传输效率更高,更加适用于服务器到服务器之间的数据通信
- protocol buffer 与 Json 的效率对比
6. Fbs 配置文件 (flat buffers)
- Fbs 相比protocol buffer,更进一步尝试提升效率
7. 重要概念
7.1 数据交换(protocol bufer)
备注:
- XML Json Yaml 同样可以实现此功能
7.2 配置文件的选择