扫码阅读
手机扫码阅读
系统设计 | 如何管理应用系统中的配置?
48 2024-08-27
我们非常重视原创文章,为尊重知识产权并避免潜在的版权问题,我们在此提供文章的摘要供您初步了解。如果您想要查阅更为详尽的内容,访问作者的公众号页面获取完整文章。
查看原文:系统设计 | 如何管理应用系统中的配置?
文章来源:
TechLead 少个分号
扫码关注公众号
配置文件管理摘要
当应用系统规模庞大时,配置文件管理变得复杂,涉及数据库配置表、配置中心和前端等多个部分。本文整理了一次技术例会关于配置管理的内容,包括需要考虑的问题和原则,以及配置的分类与处理方式。
配置管理要考虑的问题和原则
- 安全:保证配置可靠,防止丢失。
- 透明:便于查找配置。
- 成本:减少配置管理时间,注意环境间差异。
配置分类与处理
配置被分为以下几类:
- 通用应用程序配置:技术配置如端口号、数据库连接等,放入application.yml,构建进软件包。
- 环境应用配置:环境相关配置如数据库连接地址,存放配置中心,涉及密码时加密处理。
- 通用业务规则:与技术无关的业务规则,前后端共用,通过API传递。
- 用户或管理员维护的基础数据:如行业、行政区划,需提供管理界面。
通用业务规则的解决方案
为避免前后端通用业务规则重复定义,设计通用接口。将业务规则以YAML文件存放于resources/business-rules/目录,通过RESTFul API /business-rules/{name}传递给前端。
RESTFul API实现
演示项目包含一个BusinessRulesController类,使用Spring框架,定义了一个API响应业务规则请求。代码中缺少将YAML转换为JSON的步骤,推荐使用Spring的Properties或序列化工具。
YAML转JSON的方法
可以通过ObjectMapper或YAMLMapper实例,读取YAML文件,转换为Java对象,再通过ObjectMapper生成JSON字符串。
总结
文章最后提供了配置文件管理的表格,涵盖数据类型、参考示例和处理方式,以便团队遵守规约。
数据类型 | 参考示例 | 处理方式 |
---|---|---|
通用应用程序配置 | 端口、数据库配置 | 程序内application.yml文件 |
环境应用配置 | 数据库连接 | 配置中心配置或者凭证加密配置 |
通用业务规则 | 用户密码强度 | 一组程序内资源目录YAML文件 |
需维护基础数据 | 行政区划 | 数据库存储,专用API返回 |
如有错误,可联系作者微信纠正并领取红包。推荐阅读更多系统设计相关内容。
想要了解更多内容?
查看原文:系统设计 | 如何管理应用系统中的配置?
文章来源:
TechLead 少个分号
扫码关注公众号
TechLead 少个分号的其他文章
系统设计 | 对象转换方案
如何轻松地转换和映射 Java 对象?
DDD 中的多对多关系建模
多对多关系是软件建模中比较的麻烦的场景,如果梳理不清楚对软件架构伤害很大。在不久前的一个项目中,十足的体验了一次多对多关系带来的痛苦。
系统设计 | RESTful API 使用问题和建议
项目上关于 RESTFul API 的痛点和注意事项整理
系统设计 | 应用、微服务、流程、规则编排
分析常见需要编排的场景,辨析应用、微服务、流程、规则编排。
研发自测之路:从"救火"到自测
哪有什么测试,自己点两下没报错就行了,反正上线后用户就是公司的测试。“互联网公司不需要测试人员,用户就是测试”这是老板的原话。
加入社区微信群
与行业大咖零距离交流学习
软件研发质量管理体系建设
白皮书上线