通信世界网消息(CWW)随着互联网的高速发展,企业对经营规模和业务复杂性等方面的要求逐渐增长,这对数据库来说,意味着需要能够处理比单个节点更多的流量,并且要能够提供“始终在线”的高可用性。为了实现数据库的高可用性,很多企业和专家设计了相应的方案,比如双机高可用、主从架构、多主集群高可用等。虽然这些方案实现了一定的高可用性,但仍存在一些缺点,如表1所示。
表1 现行高可用技术方案的缺点
现有高可用性方案存在缺点,我们需要从整体优化的角度设计数据库以实现高可用性。本文研究了两地三中心自动切换方法,在解决上述问题的同时,更好地实现了数据库的高可用性。
高可用故障切换机制,实现数据零丢失随着虚拟集群对于高可用要求的提升,故障切换机制的作用越发凸显,本文研究的高可用虚拟集群高效透明的故障切换机制,可以将两地三中心集群下高可用能力提升到99.999%,容灾能力达到《信息安全技术 信息系统灾难恢复规范》(GB/T 20988—2007)第6级能力要求,同时实现了数据零丢失。高效检测心跳网络机制是本文研究的高可用集群检测节点状态的高效检测方法。无论主数据库服务器是否向辅节点数据库服务器发送记录,这两个数据库服务器均会互相执行心跳检测操作。如果其中一个数据库服务器连续4次没有响应心跳检测尝试,那么另一数据库服务器会假定发生了集群故障。集群中每个数据库服务器都可设置心跳检测周期,到达周期后向集群中的其他数据库服务器发送心跳检测。数据库服务器检测到集群故障后,会在其消息日志写入一条消息并关闭数据复制。如果发生了集群故障,两个数据库服务器之间的连接将被断开,并且辅节点数据库服务器将保持只读方式。
CM(Connect Manager,连接管理器)的切换机制原理●P-DBS(Primary Database Server,主节点)发生故障CM实现了集群节点的故障切换。在一个两地三中心的高可用集群部署中,针对不同节点的故障,本项目可实现不同的故障切换策略。
如图1所示,P-DBS发生故障时,NS-DBS(Nearly secondary database server,近点辅节点)和MS-DBS(Middle distance secondary database server&