【发布时间】:2015-01-06 05:59:39
【问题描述】:
我正在尝试使用 JSON 进行应用程序配置。我需要动态创建 JSON 中的一些对象(例如:从 SQL 数据库中查找)。它还需要存储 JSON 文件的版本历史。由于我想来回从旧配置切换到新配置版本。
最初的想法是将 JSON 放在 MongoDB 上,并为 JSON 对象的动态部分使用占位符。有人可以指导我的想法是否正确吗?(我正在考虑使用 JSON.NET 来序列化/去化 JSON 对象)。提前致谢。
编辑:
例如:假设我们有 2 个环境。环境1(v1.0.0.0) 环境2(v1.0.0.1)
**Env1**
{
id: env1 specific process id
processname: process_name_specific_to_env1
host: env1_specific_host_ip
...
threads: 10(this is common across environments for V1.0.0.0 release)
}
**Env2**
{
id: env2 specific process id
processname: process_name_specific_to_env2
host: env2_specific_host_ip
...
threads: 10(this is common across environments for V1.0.0.1 release)
queue_size:15 (this is common across environments for V1.0.0.1 release)
}
我想要存储的是一个通用的 JSON 文件 PER 版本。这个想法是如果我想升级版本让我们说 env1 到 1.0.0.1(从 1.0.0.0),应该能够采用 JSON 配置的 v1.0.0.1 并从 SQL 填充 env 特定数据并生成一个新的JSON)。这样,在将环境从一个版本迁移到另一个版本时,无需重新进行配置。
ex: 1.0.0.0 JSON file
{
id: will be dynamically filled in from SQL
processname: will be dynamically filled in from SQL
host: will be dynamically filled in from SQL
...
threads: 10(this is common across environments for V1.0.0.0 release))
}
=> 根据要求为任何环境生成一个新文件。
希望我清楚我想要实现的目标
【问题讨论】:
-
您是否将结果复制到另一个集合中?为什么不能在应用代码中加入这两个配置?