读写分离集群(RW)介绍¶
神通数据库为保证用户能够7×24小时不间断的访问数据,提供了基于日志传输复制技术的高可用集群管理系统。
采用日志传输技术的集群方案是通过在多台神通数据库服务器间进行日志传输来实现数据的高可用性, 各节点之间的数据在物理上是完全独立的。正常情况下,数据库主服务器(即master)以活动服务器的身份对外提供数据访问服务, 同时数据库备份服务器(即slave)获取主服务器上的更新日志与主服务器保持数据同步。 如果主服务器发生故障,同步备份服务器推选出新的主服务器并继续对外提供服务。 在故障服务器被修复后,原主服务器仍可以备用服务器身份继续进行与主服务器进行日志同步工作。
神通高可用集群系统支持最多十六个节点,各节点的地位默认都是平等的,也可以设置节点的权值,使权值最大的同步节点优先成为主机。 在系统启动时多个同步节点之间推选出一个节点作为master,其它节点作为slave, master和slave之间通过心跳检测来监控集群系统的健康状态。 在神通高可用集群系统正常工作状态下,master及时将自己产生的日志同步到slave,以保证主备之间的数据一致性, 用户对master所作的任何更新操作,都会在slave上得到体现。 如果同步slave长时间收不到master的心跳信息,将会在集群的同步节点之间发起选举操作, 选出新的master,并继续对用户提供数据服务。 而这种切换对于用户而言是基本透明的(只需进行重新连接)。 如果slave端发生故障,而master仍处于活动状态时,只要发生故障的同步节点小于集群同步节点总数的二分之一, 集群系统仍继续对外提供数据服务,对用户不会产生任何影响,只需DBA及时对slave进行故障排除即可。
神通高可用集群系统中的备机是可读的,在此基础上提供了读写分离功能。 一方面用户可以直接连接备机执行只读查询操作,另一方面也可以通过驱动进行读写分离: 驱动自动对用户执行的SQL语句进行读写分类,将写操作发送到主机执行, 将只读操作发送到备机执行,驱动按照一定的算法进行负载均衡,以达到提升系统整体性能的目的。
高可用集群服务器配置参考: 读写分离集群(RW)配置
jdbc读写分离配置参考: JDBC分发器的使用