达梦数据库读写分离:
可以通过中间件提供的连接池或在应用服务器上修改dm_svc.cof
应用服务器配置
客户端主机上需要配置 dm_svc.conf 文件,文件路径:
Linux 平台下,此文件位于/etc 目录
dm_svc.conf:
全局配置区
DMRW=(192.168.10.1:5236,192.168.10.2:5236)
TIME_ZONE=(+480) #表示+8:00 时区
LOGIN_ENCRYPT=(0)
DIRECT=(Y)
服务配置区
[DMRW]
TIME_ZONE=(+540) #表示+9:00 时区
LOGIN_MODE=(0)
SWITCH_TIME=(3) #在服务器之间切换的次数
SWITCH_INTERVAL=(10) #在服务器之间切换的时间间隔,单位为毫秒
RW_SEPARATE=(1) #是否启用读写分离,0是关闭,1是开启读写分离
RW_PERCENT=(25) #读写分离分发比例
客户端程序连接数据库时,需要指定 ip 端口处替换为服务名即可,例如:
disql SYSDBA/SYSDBA@DMRW
注:当修改了 dm_svc.conf 内容后,需要重启客户端程序,修改的配置才能生效
LOGIN_MODE
服务名方式登录,始终会优先登录主库;LOGIN_MODE 表示是否仅登录主库或者备库, 可以配置为 0、1 或 2。
0 表示优先登录主库,没有可用主库情况下登录备库;
1 表示不登 录 Standby 模式的库,如果系统中只有 Standby 模式的库,登录失败并报错;
2 表示仅 登录 Standby 模式的库。
默认值为 0。
中间件连接池配置(东方通)
1)应用中应该有类似连接池配置(名称与东方通连接池保持一致)
2)中间件中创建连接池
在连接url处填写:jdbc:dm://数据库IP:端口号?rwSeparate=1&rwPercent=10
说明:rwSeparate 是否使用读写分离系统,默认 0;取值(0 不使用,1 使用)。
rwPercent 分发到主库的事务占主备库总事务的百分比,有效值 0~100,默认
值 25。