更新时间:2024-11-28 GMT+08:00
分享

无从库

场景三:

如上图,实线为DCG指示激活AZ1,虚线为DCG指示激活为AZ2。正常场景下,不管DCG激活哪个AZ,读操作都在本地进行;只有写操作是根据DCG激活指示,在相应的AZ进行。当某AZ本地数据库故障,不可读时,读操作根据DCG激活指示。

配置如下:

# 基础信息 - 可选项, 当配置etcd后为必选
props:
  version: v1  // 项目版本号,自定义
  appId: xxx  // 应用ID,从MAS服务实例页面查询获取
  monitorId: xxx  // 监控器ID,从MAS服务实例页面查询获取
  databaseName: xxx  // 数据库名,从MAS服务实例页面查询获取
  decipherClassName: xxx.xxx.xxx  // 加解密类,需要实现基类 com.huawei.devspore.mas.password.Decipher,默认值为com.huawei.devspore.mas.password.DefaultDecipher
  azs: az1 // 本地的AZ信息,根据实际环境所属AZ进行填写

# etcd配置,对接MAS服务关键配置,本地模式则无需配置
etcd:
  address: 127.0.0.2:2379,127.0.0.2:2379,127.0.0.2:2379  //etcd地址, 从MAS服务实例页面查询获取
  apiVersion: v3  // etcd版本,v3
  username: etcduser  // etcd用户名,从MAS服务实例页面查询获取
  password: etcdpwd  // etcd密码,从MAS服务实例页面查询获取
  httpsEnable: false  // 是否启用https
  certificatePath: xxx // 启用https时证书路径,实例未开启双向认证或不启用https场景,该配置可以不填

# 数据源配置 - 必选
sources:
  ds1: // 需要和MAS服务中连接池中命名一致
    driverClassName: com.mysql.jdbc.Driver  // 驱动名称,自定义
    jdbcUrl: jdbc:mysql://127.0.0.1:3306/ds0  // 数据库地址,和MAS服务配置一致
    username: datasourceuser  // 用户名,和MAS服务配置一致
    password: datasourcepwd  // 密码,和MAS服务配置一致
    type: com.zaxxer.hikari.HikariDataSource
    props: // 连接池参数
      connectionTimeout: 30000
      maximumPoolSize: 200
  ds2: // 需要和MAS服务中连接池中命名一致
    driverClassName: com.mysql.jdbc.Driver
    jdbcUrl: jdbc:mysql://127.0.0.1:3306/ds1
    username: datasourceuser
    password: datasourcepwd
    type: com.zaxxer.hikari.HikariDataSource
    props:
      connectionTimeout: 30000
      maximumPoolSize: 200

# 路由配置 - 必选
router:
  active: dc1  // 当前激活节点
  routeAlgorithm: local-read-single-write // 路由策略
  nodes:
    dc1:  
      master: ds1
      azs: az1
    dc2:
      master: ds2
      azs: az2

相关文档