多活高可用服务 MAS
多活高可用服务 MAS
- 最新动态
- 功能总览
- 产品介绍
- 计费说明
- 快速入门
-
用户指南
- 开始使用多活高可用服务
- 功能模块
- 命名空间
- 多活管理
- 应用管理
- 监控管理
-
工作流管理
- 工作流简介
- 工作流模板
- 创建工作流
- 编排工作流
- 导入工作流
-
工作流插件说明
- DRS灾备切换
- DRS检查RTO&RPO
- RDS实例读写设置
- RDS实例重启
- RDS实例创建备份
- DWS检查容灾任务
- DWS容灾操作
- DCS开启/关闭白名单
- OBS桶存量比较
- OBS跨区域复制任务设置
- OBS桶策略操作授权用户
- DNS添加记录集
- DNS删除记录集
- DNS公网域名记录集权重设置
- Smart Connect任务操作
- 人工卡点
- 等待
- AOM作业执行
- 混沌实验执行
- PerfTest测试任务启动/停止
- HTTP请求
- MAS多活管理切换/回切
- DDM实例创建备份
- DDM实例读写设置
- RDS实例指定用户读写设置
- RDS检查容灾复制状态
- RDS灾备实例升主
- RDS修改实例参数
- DRS任务操作
- DRS检查任务方向和状态
- RDS自动备份策略设置
- RDS检查实例备份信息
- DRS检查任务信息
- DRS数据级/对象级对比
- OpenGauss容灾操作
- OpenGauss检查容灾信息
- 执行工作流
- 查看工作流执行详情
- 编辑工作流
- 复制工作流
- 删除工作流
- 关注工作流
- 混沌工程
- 应用韧性Hub
- 凭证管理
- 事件监控
- 查看审计日志
- 权限管理
- 最佳实践
- 开发指南
- 常见问题
- 视频帮助
- 文档下载
- 通用参考
本文导读
展开导读
链接复制成功!
使用多数据源
上面的方式都是只引入一个数据源,在某些场景下,需要引入多个数据库,操作不同的数据库,此时,可以通过配置不同前缀来注入多个datasource的bean,方法如下:
- 引入依赖。
<dependency> <groupId>com.huaweicloud.devspore</groupId> <artifactId>spring-cloud-starter-huawei-devspore-datasource</artifactId> <version>${lastest}</version> </dependency>
- 配置文件中配置多个数据源。
devspore: datasource1: props: version: v1 appId: xxx monitorId: xxx databaseName: xxx decipherClassName: xxx.xxx.xxx region: az0 etcd: address: 127.0.0.2:2379,127.0.0.2:2379,127.0.0.2:2379 apiVersion: v3 username: etcduser password: etcdpwd httpsEnable: false sources: ds1: driverClassName: com.mysql.jdbc.Driver jdbcUrl: jdbc:mysql://127.0.0.1:3306/ds0 username: datasourceuser password: datasourcepwd type: com.zaxxer.hikari.HikariDataSource ds2: driverClassName: com.mysql.jdbc.Driver jdbcUrl: jdbc:mysql://127.0.0.1:3306/ds1 username: datasourceuser password: datasourcepwd type: com.zaxxer.hikari.HikariDataSource router: active: dc1 routeAlgorithm: single-read-write nodes: dc1: master: ds1 dc2: master: ds1 datasource2: props: version: v1 appId: xxx monitorId: xxx databaseName: xxx decipherClassName: xxx.xxx.xxx region: az0 etcd: address: 127.0.0.2:2379,127.0.0.2:2379,127.0.0.2:2379 apiVersion: v3 username: etcduser password: etcdpwd httpsEnable: false sources: ds1: driverClassName: com.mysql.jdbc.Driver jdbcUrl: jdbc:mysql://127.0.0.1:3306/ds0 username: datasourceuser password: datasourcepwd type: com.zaxxer.hikari.HikariDataSource ds2: driverClassName: com.mysql.jdbc.Driver jdbcUrl: jdbc:mysql://127.0.0.1:3306/ds1 username: datasourceuser password: datasourcepwd type: com.zaxxer.hikari.HikariDataSource router: active: dc1 routeAlgorithm: single-read-write nodes: dc1: master: ds1 dc2: master: ds1
- 根据前缀注入多个datasource。
在配置类中根据yml中的前缀,分别注入bean,并进行命名,然后即可分别操作不同的datasource。
@Configuration public class App { @ConfigurationProperties(prefix = "devspore.datasource1") @Bean(name = "ds1") public DataSource dataSource1() { return new ClusterDataSource(); } @ConfigurationProperties(prefix = "devspore.datasource2") @Bean(name = "ds2") public DataSource dataSource2() { return new ClusterDataSource(); } }
父主题: 使用场景