文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

高效率配置管理的方法有哪些

2024-04-02 19:55

关注

这篇文章主要讲解了“高效率配置管理的方法有哪些”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“高效率配置管理的方法有哪些”吧!

高效率配置管理的方法有哪些

Spring-boot 基于数据库的配置管理

好的配置管理 是部署的第一步。

配置管理 做了什么

通常,应用的 配置 在不同 部署 (预发布、生产环境、开发环境等等)间会有很大差异

这其中包括:

配置管理的 目标

配置管理的现行方案

方案理由可行性
Configuration 代码文件代码和配置混在一起,打包后,无法适配多个部署环境。×
配置文件例如 Spring-boot . profile 管理, node.js 的 .env√
基于数据库管理非常适用于第三方 key 的配置,内部配置 并不便捷√
基于配置服务Spring Cloud Config , nacos 等配置服务√

基于数据库的配置管理

Spring-boot 应用配置管理方案(优化版)

  1. 鸿蒙官方战略合作共建——HarmonyOS技术社区

  2. 配置 Application.yml

配置DB 连接的环境变量 覆盖 原Application.yml 的数据库连接变量。

摘自: 12-Factor推荐将应用的配置存储于 环境变量 中( env vars, env )。环境变量可以非常方便地在不同的部署间做修改,却不动一行代码;与配置文件不同,不小心把它们签入代码库的概率微乎其微;与一些传统的解决配置问题的机制(比如 Java 的属性配置文件)相比,环境变量与语言和系统无关。

  1. 鸿蒙官方战略合作共建——HarmonyOS技术社区

  2. 基于数据库管理(jm-settings)

    2.1 设计 Key-Value 表

  3. CREATE TABLE `t_base_settings` (   `id` int(11) unsigned NOT NULL AUTO_INCREMENT,   `keyword` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '关键词, PAY.ALI PAY.MP',   `content` text COLLATE utf8mb4_unicode_ci COMMENT '配置内容',   `created` bigint(20) DEFAULT NULL,   `updated` bigint(20) DEFAULT NULL,   `deleted` int(1) DEFAULT '0',   PRIMARY KEY (`id`) ) ENGINE=InnoDB  DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='设置表';

2.2 Spring-boot @Bean 注入

声明 Property

 @Data public class HuaweiObsProperties {     public static final String KEY = "huawei.obs";     private String accessKey;     private String secretKey;     private String endPoint;          private Long duration = 3600L;          private List<Bucket> buckets;      @Data     public static final class Bucket {         private Integer type;         private String bucketName;     }      @JsonIgnore     public String getBucketNameByType(Integer type) {         for (Bucket bucket : buckets) {             if (type.equals(bucket.getType())) {                 return bucket.getBucketName();             }         }         throw new IllegalArgumentException("Bucket配置不全!");     } }

Bean 注入类

 @Slf4j @Configuration public class HuaweiObsConfiguration {     @Resource     BaseSettingsService baseSettingsService;      @Bean(name = "huaweiObsProperties")     public HuaweiObsProperties getHuaweiObsProperties() {         HuaweiObsProperties huaweiObsProperties = baseSettingsService.getObjectByKeyword(HuaweiObsProperties.KEY, HuaweiObsProperties.class);         return huaweiObsProperties == null ? new HuaweiObsProperties() : huaweiObsProperties;     } }

Bean 注入使用

@Slf4j @Service public class HuaweiObsService {      @Resource     HuaweiObsProperties huaweiObsProperties;     //todo 调用即可 }

开源地址

项目名描述地址
jm-settings基于 DB 的配置管理核心库https://github.com/jimoos-cn/...
huawei-obs基于 jm-settings 实现的华为obs 配置管理https://github.com/jimoos-cn/...

感谢各位的阅读,以上就是“高效率配置管理的方法有哪些”的内容了,经过本文的学习后,相信大家对高效率配置管理的方法有哪些这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是亿速云,小编将为大家推送更多相关知识点的文章,欢迎关注!

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-数据库
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯