更新时间:2024-10-23 GMT+08:00
读写分离
场景二:
如上图,实线为DCG指示激活AZ1,虚线为DCG指示激活为AZ2。跟场景一类似,同样在单边进行读写,不同之处在于,场景二中存在从库,进行读写分离,写操作在主库,读操作在从库进行。
配置如下:
# 基础信息 - 可选项, 当配置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 # 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 // 数据源类型,自定义,目前只支持com.zaxxer.hikari.HikariDataSource,org.apache.commons.dbcp2.BasicDataSource,com.alibaba.druid.pool.DruidDataSource ds1-slave0:// 从数据库节点,需要和MAS服务中连接池中命名一致 driverClassName: com.mysql.jdbc.Driver jdbcUrl: jdbc:mysql://127.0.0.1:3306/ds0_slave0 username: datasourceuser password: datasourcepwd type: com.zaxxer.hikari.HikariDataSource props: connectionTimeout: 30000 maximumPoolSize: 200 ds1-slave1: driverClassName: com.mysql.jdbc.Driver jdbcUrl: jdbc:mysql://127.0.0.1:3306/ds0_slave1 username: datasourceuser password: datasourcepwd 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 ds2-slave0:// 从数据库节点,需要和MAS服务中连接池中命名一致 driverClassName: com.mysql.jdbc.Driver jdbcUrl: jdbc:mysql://127.0.0.1:3306/ds1_slave0 username: datasourceuser password: datasourcepwd type: com.zaxxer.hikari.HikariDataSource props: connectionTimeout: 30000 maximumPoolSize: 200 ds2-slave1: driverClassName: com.mysql.jdbc.Driver jdbcUrl: jdbc:mysql://127.0.0.1:3306/ds1_slave1 username: datasourceuser password: datasourcepwd type: com.zaxxer.hikari.HikariDataSource props: connectionTimeout: 30000 maximumPoolSize: 200 # 路由配置 - 必选 router: active: dc1 routeAlgorithm: single-read-write nodes: dc1: master: ds1 loadBalance: ROUND_ROBIN slaves: - ds1-slave0 - ds1-slave1 dc2: master: ds2 loadBalance: ROUND_ROBIN slaves: - ds2-slave0 - ds2-slave1
父主题: 单边读写