多活高可用服务 MAS-开发简介:MAS-DB-SDK

时间:2025-02-12 14:58:59

MAS-DB-SDK

MAS-DB-SDK是一个DataSource的实现,可替代spring-boot-starter-jdbc为Spring注入一个DataSource对象,通过与MAS服务对接从而实现多数据源管理的工具,具有以下特性:

  • 多活容灾能力。

    多活容灾能力是指在同城场景下实现多活故障自动切换,由SDK和MAS服务配合完成。

  • 读写分离。

    读写分离由SDK实现,支持随机、轮询的负载均衡算法。

  • 自定义指定数据源进行数据访问。

    用户也可以通过注解方式指定数据源以及主从数据库进行数据读写。

    注解中source是指定选择哪个节点的数据源,从YAML配置中的router.nodes中选取,如果不设置,请使用当前DCG仲裁的数据中心(MAS平台上激活的数据中心,如果未对接MAS平台,则选取本地配置中的active,即yaml配置中的router.active)。

    DCG为多活实例的仲裁中心,提供端到端(流量-应用-数据)仲裁和统一多活切换管控能力。

    注解中的HintType用于查询时指定主从数据库,适用于读写分离场景,当前支持的配置值有:HintType.READMASTER(从master库读取)、HintType.READSLAVE(从slave库读取)、HintType.NONE(不指定),不指定时,默认从slave库读取。HintType只针对读操作有效,写操作HintType无效。

    SDK本身不支持数据源间的数据同步,数据源同步需要依赖DRS服务。

    SDK不支持分布式事务,同一个事务处理过程中,不支持切换数据库。

support.huaweicloud.com/devg-mas/mas-devg-0088.html