GBase 8c中的同步机制实现

在GBase 8c中,控制“主备间事务同步提交规则”是由高可用组件自动进行维护的,在实际使用当中,非特殊应急场景(如所有备机宕掉或挂起)用户无需调整 synchronous_commit、synchronous_standby_names 参数。

在当前版本中,GBase 8c高可用组件管理“主备间事务同步提交”,按以下规则进行管理:

  1. 对于CN节点

CN没有备机,都是服务对等的节点,所以需要设置为 synchronous_commit=off--不要进行修改,异常情况下可能引发节点无法正常启动问题

  1. 对于DN节点
  • 备机2台或以上,高可用管理机制会自动 synchronous_commit 设置为 ON,确保备机能同步到数据,保证数据同步提交。而当前的同步列表,即 synchronous_standby_names 配置为 ANY <半数备机>,以保证数据安全与性能之间的均衡。同时,在近期版本,将调整为 FIRST <半数备机> 的配置,即以优先级的策略保证节点的同步。
  • 备机只有1台,即一主一备的场景下,synchronous_commit默认取值为offsynchronous_standby_names 默认取值为"*"。

环境部署的为一主一备,在当前版本(B48)发生备机发生异常时,如果synchronous_commit配置成on,则主节点有可能会发生类似的等待事件,影响服务,因此高可用会自动设置为off非特殊情况不要进行修改。并且生产环境建议部署为1主2备或以上的模式。

针对此问题,GBase 8c 的高可用管理机制也在不断进行优化,未来版本会增加同步提交“降级”机制(版本待确定),最大限度保证服务的连续性。

三、读写分离

问题:高可用同步管理机制下,读写分离场景如何保证数据一致性?

解答:读写分离机制,可以通过修改配置文件的方式将CN节点配置为只读节点,由该 CN 节点将请求发送至已进行同步的备DN节点上,无备选DN可用时则使用主DN节点,以保证读写事务的一致性。

(注意:未来 synchronous_standby_names 调整为 FIRST <半数备机> 后,只读CN节点也可以按此优先级机制选取高优先级的同步备DN节点)

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值