读写分离(读已提交)最大一致性

概念

需要考虑备机数据延迟造成的主备不一致问题,只有强同步或主节点可承担读负载。

适用场景

应用需要强一致性,比如严格依赖查询数据做后面的逻辑分支处理,一个事务插入,后一个事务马上查询这条数据,此时就会需要严格一致性。

  • 强同步节点的定义

    首先是主备之间是同步模式,其次备库的同步级别必须是remote_apply。

  • JDBC对强同步节点的验证方式

    select application_name, sync_state from sys_stat_replication

    返回的'sync_state'必须是'sync'。

配置

  1. 前端 KingbaseES的JDBC读写分离

    在 读写分离最大性能 的基础上,增加一个控制参数“可分发节点选择列表策略”:

    指定可分发节点选择列表策略,1表示所有在线节点均可分发,2表示只分发主节点和同步备机节点,默认取值为:'1'。

    readListStrategy=2

  2. 后端KingbaseES的读写分离集群

    主库配置:

    # 1(*) 或者 ALL (*)

    synchronous_standby_names='1(*)'
    synchronous_commit=remote_apply
    

11.3. 读写分离(可重复读)最大一致性 

概念

一个事务内的两次相同查询需要获得的数据是完全一致的,此时不能分发,只能全部走主机,备机节点此时无法承担读负载,只用作数据备份,不对外提供服务。

适用场景

应用原来就依赖于严格的RP做业务处理。

配置

  1. 前端 KingbaseES 的JDBC读写分离

    在 读写分离最大性能 icon-default.png?t=N7T8https://help.kingbase.com.cn/v8/development/client-interfaces/jdbc/jdbc-11.html#id1的基础上,增加一个控制参数“可分发节点选择列表策略”:

    指定可分发节点选择列表策略,1表示事务都不分发,2表示事务中的写语句之前的读语句可以分发,默认取值为:'2'。

    TransactionDispatchStrategy=1

  2. 后端KingbaseES的读写分离集群

    主库配置参见 读写分离(读已提交)最大一致性 icon-default.png?t=N7T8https://help.kingbase.com.cn/v8/development/client-interfaces/jdbc/jdbc-11.html#id2

  • 7
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值