神通数据库读写分离集群笔记

神通数据库读写分离

  • 读写分离是基于数据库服务器之间的日志数据传输
  • 最多可以有 9 个节点
  • 数据在物理上是完全独立的
  • master和slave通过心跳检测来检测集群的健康状态
  • 只要发生故障的节点小于集群节点总数的1/2,集群还能提供数据库服务
  • 集群中的备机是可读的,主机是可读可写的,在此基础上提供了读写分离功能;另:可以通过驱动进行读写分离,驱动自动对用户执行的SQL语句进行读写分类,将写操作发送到主机执行,将读操作发送到备机执行,按照负载均衡算法执行,提高整体的性能。

高可用集群服务器配置参考

这里可以直接看神通的官方doc

jdbc读写分离配置参考

使用jdbc之前,需要配置jdbc的配置参数

  • usedispatch=true表示使用分发功能(即使用读写分离),可以在oscarconfig.properties文件中配置;或者,在数据库连接的url中,直接使用usedispatch=true
  • hostLoadRate设置主机的负载率,0–100

不同的应用对于读写操作的一致性、性能的需求不同,需要进行jdbc的配置。

  • transactionDispatchStraight表示显式事物内语句的分发策略,默认是2,有1,2两种配置。 1代表事务中的所有语句都分发到主机。 2代表事务开始的读语句可以分发到备机, 一旦出现写语句,后面的语句都分发到主机。
  • useAsynchronous,代表读操作是否可以分发到非强制同步备机,默认值true,强制同步备机是指该备机是同步节点,并且配置了数据库参数ENABLE_HA_SLAVE_SYNC_REDO为TURE,主机必须在收到所有强制同步备机都重做完了某事务的修改后,才能够提交此事务。强制同步备机能够保证备节点数据的强实时性,但会影响主机上事务的提交性能。
  • useSlaveSyncRead,代表读备机时是否等待备机数据同步完成,默认是false,如果是true的话,驱动会发送lsn到备机,备机等待数据同步完成才会返回结果,如果对性能有要求,不要开启这个参数。
  • useSlaveSyncReadGlobal,默认值false。设置useSlaveSyncRead=ture后此参数才有作用。useSlaveSyncReadGlobal为false,使用线程级lsn仅保证可以查询到同一个线程之前的更新事务所做的修改。 useSlaveSyncReadGlobal为true,使用全局lsn保证可以查询到所有线程之前的更新事务所做的修改。
  • 上述中的几个参数设置方式,同Usedispatch的设置方式。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值