南大通用GBase 8s数据库RHAC集群基本原理介绍

360影视 国产动漫 2025-05-14 15:34 1

摘要:今天,我们将探讨南大通用GBase 8s RHAC(Remote High Availability Cluster)的基本原理和搭建步骤,这是一种在异步通信框架内运行的辅助服务器技术,旨在最小化对主服务器的影响,同时提供数据的高可用性。

今天,我们将探讨南大通用GBase 8s RHAC(Remote High Availability Cluster)的基本原理和搭建步骤,这是一种在异步通信框架内运行的辅助服务器技术,旨在最小化对主服务器的影响,同时提供数据的高可用性。

关于GBase 8s异地容灾集群RHAC以及同城灾备中心HAC的更多详细操作可查阅“GBASE数据库”视频号直播回放。

功能特性

GBase 8s RHAC 辅助服务器在很多方面都与 HAC 辅助服务器相似。将日志发送到 RHAC 辅助服务器的方式与主服务器将日志发送到 HAC 辅助服务器的方式很相似。但是,RHAC 辅助服务器用于完全在异步通信框架内运行,因此对主服务器的影响达到最小。事务落实和检查点在主服务器和 RHAC 辅助服务器之间均未同步。不保证在主服务器上落实的任何事务也在同一时间在 RHAC 辅助服务器上得到完成。

从对RHAC与HAC功能应用比较来看,RHAC相对于HAC有以下不支持的功能:

不支持完全同步和近同步方式

不支持DRAUTO参数自动切换

不支持同步检查点


RHAC原理

RHAC采用SMX(Server Multiplexer)通信方式来建立节点之间的网络连接,SMX采用全双工的通信协议,支持异步通信的方式,在低速网络上提供更好的通信连接,简化了节点之间的通信管理,支持加密传输,同一个SMX连接可以支持多个内部功能传输。


RHAC_Send线程负责将逻辑日志发送到RHAC辅节点,如果要发送的下一页逻辑日志不在逻辑日志缓冲区中,那么RHAC_Send将直接从磁盘中读取日志。RHAC_Send 线程与 SMX 交互,以使用全双工方式发送数据。有了全双工通信,线程在发送下一个缓冲区之前不等待来自辅助服务器的确认。在主服务器需要来自辅助服务器的确认之前最多可发送 32 个缓冲区传输。如果达到 32 个缓冲区的限制,那么发送线程将等待RHAC_Recv 线程接收来自 RHAC 辅助服务器的确认。在辅助服务器上,RHAC_Recv 与 SMX 交互,以接收来自主服务器的日志页。

简单来说,RHAC架构基于主节点和辅节点之间的通信来实现数据传输和恢复。当数据生成时,它首先被写入主节点的逻辑日志缓冲区和存储中。同时,数据也会被写入发送缓冲区。为了保证数据的一致性,专门的线程负责将发送缓冲区中的数据通过网络传输给辅节点。辅节点接收到数据后,将其存储在逻辑日志缓冲区中,并使用重放技术来更新内存中的缓冲值。

一个关键的特性是RHAC架构支持延时数据恢复。延时数据恢复意味着辅节点在接收到数据后,并不会立即进行重放操作。相反,辅节点会按照一定的规则,延迟一段时间再进行数据的重放。这种延时恢复的机制可以通过将数据缓存到临时文件夹或者其他存储位置上来实现。

RHAC架构中的数据传输是异步的。辅节点会监测主节点和辅节点之间的数据差异,以进行流量控制。如果数据差异过大,辅节点会通知主节点进行相应的业务操作。

来源:GBASE南大通用

相关推荐