常用概念
Mas-DB-SDK
Mas-DB-SDK是一个DataSource的实现,可替代spring-boot-jdbc-starter为Spring注入一个DataSource对象,通过与MAS服务对接从而实现多数据源管理的工具,具有以下特性:
- 多活容灾能力
- 读写分离
- 自定义指定数据源进行数据访问
用户也可以通过注解方式指定数据源以及主从数据库进行数据读写。
注解中source是指定选择哪个节点的数据源,从YAML配置中的router.nodes中选取,如果不设置,使用当前DCG仲裁的数据中心(MAS平台上激活的数据中心,如果未对接MAS平台,则选取本地配置中的active,即yaml配置中的router.active)。
注解中的HintType用于查询时指定主从数据库,适用于读写分离场景,当前支持的配置值有:HintType.READMASTER(从master库读取)、HintType.READSLAVE(从slave库读取)、HintType.NONE(不指定),不指定时,默认从slave库读取。HintType只针对读操作有效,写操作HintType无效。
SDK本身不支持数据源间的数据同步,数据源同步需要依赖DRS服务。
SDK不支持分布式事务,同一个事务处理过程中,不支持切换数据库。