SC ConfigServer配置存储改为MySQL或其他数据库

本文介绍了如何将SpringCloud ConfigServer的默认git持久化改为MySQL存储,以实现更细粒度的权限控制。主要涉及EnvironmentRepository接口的自定义实现,使用SpringData JPA设计后端存储,以及配置修改和依赖添加的详细步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

SC ConfigServer配置存储改为MySQL或其他数据库

SpringCloud的ConfigServer默认是持久化使用的是git。git有它天然的优势,比如多版本管理、分支管理、提交审核策略等等,但是如果相对其中存储的数据做细粒度的权限控制,就力不从心了。当然,也可以改变使用方式以适应这种特点,但是今天我们要做的是将持久化从git迁移到MySQL上。

查询配置信息

ConfigServer有个接口:org.springframework.cloud.config.server.environment.EnvironmentRepository
这个接口的实现类就是ConfigServer的用来查询配置信息的,方法签名如下:

Environment findOne(String application, String profile, String label);

我们可以仿照已有的实现去自行实现这个接口,在方法实现中查询MySQL
查询实现大致如下:
查询配置

后端存储配置设计

后端存储采用SpringData + JPA + JPA 的方式,故在此仅介绍实体
因为Spring Cloud Config组件支持application + profile + label 的方式查询配置文件,所以进行沿用,基本能满足生产所需:
后端存储实体

使用说明

  1. pom.xml中添加该插件依赖
    插件依赖
  2. pom.xml中添加MySQL或其他数据库驱动的依赖(该插件依赖于DB)
  3. 在Config Server组件的application.xml中添加如下两个配置
    这里写图片描述
    这里写图片描述

注意:此处的datasource也可换成任意支持jpa的数据源

源码地址

http://git.oschina.net/AngryBear12/plugin-spring-cloud

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值