首页 > 其他分享 >南大通用GBase 8s高可用集群架构介绍

南大通用GBase 8s高可用集群架构介绍

时间:2024-09-26 14:50:53浏览次数:11  
标签:架构 log 数据库 节点 集群 8s redo GBase

对一些行业关键核心业务应用来说,必须满足7×24小时的不间断服务。这就要求数据库必须具备高可用性以避免数据库节点的单点故障。数据库的高可用架构选择直接影响到业务应用服务可用性的等级。一般行业的关键核心业务要求具备极高可用性,即99.999%的可用性级别。

Oracle在高可用架构上陆续推出了主机HA(Highly Available)、ADG(Active DataGuard)、RAC(Real Application Cluster)、OGG(Oracle Golden Gate)等多种形式。这些高可用架构可以单独使用,也可以组合使用,许多金融机构借助Oracle的多种高可用架构组合,构建了两地三中心的极高高可用业务服务。

在国产化替代的背景下,国产数据库需要在高可用性技术上达到Oracle的同等水平甚至有所突破才能逐步实现千行百业的关键核心业务替换。目前,国产数据库大多已经借鉴Oracle构建了自己的完整高可用架构,以南大通用GBase 8s数据库为例,就有一整套对标Oracle高可用的技术栈来确保行业业务系统的高可用服务。

南大通用GBase 8s高可用集群架构介绍_GBase数据库

GBase 8s主备式集群

GBase 8s提供了基于redo log实时同步和重做的主备式集群。主节点和备用节点之间的数据传输支持多路复用连接,可以减少网络资源的需求,提高服务器之间的通信效率。

主备式集群支持HAC和RHAC两种集群方式。

HAC是典型的一主一备的集群模式,可以根据网络传输条件选择全同步、近同步和异步三种redo log复制形式,完美对标oracle ADG的最大保护、最大可用、最大性能三种工作模式。

全同步是交易在主节点上完成后,在提交之前,需要把交易的redo log复制到备用节点,备用节点在接受到redo log之后,进行日志重放,在备节点重放完成之后,主备节点一起提交。该方式最大的优点是保障交易的可靠性,只要交易成功,一定是在主备两个节点都写入redo log成功。

近同步是交易在主节点上完成后,该交易的redo log需要通过网络发送给备用节点,当备用节点确认接受该交易的redo log之后,主节点上的交易即刻提交。

异步是交易在主节点完成之后,就传送到备用节点,不需要等待备用节点回复任何消息,主节点都可以提交。但在检查点来临时,需要比对主备节点检查点的一致性,也就是说数据库允许在两个检查点之间是异步的,但是主备节点的检查点必须要一致。

HAC集群的实际部署,推荐服务器双网卡配置,业务流量走南北向网卡,redo log同步的流量走东西向网卡。

HAC集群的特点:

1. 该集群模式部署简单,数据冗余;

2. 对应用程序来说,数据库透明访问;

3. 故障切换时间在30秒内完成;

4. 数据同步方式灵活多选;

5. 主备节点均可读可写。

HAC集群的使用场景:

1. 在同机柜、同机房、同城的时候推荐考虑,网络延迟是影响HAC集群的主要因素;

2. 数据量建议在不超过10TB的时候可以考虑HAC,主要是考虑单服务器磁盘可用容量的限制

RHAC集群是GBase 8s集群的另外一种表现形式,从集群形态上支持一主多备,主要用于远距离传输、异地容灾的业务场景。RHAC是典型的异步传输机制,主节点负责接受和处理交易,并把交易的redo log源源不断地发送到目标节点,不需要等目标节点接受消息,也不需要等目标节点的检查点,只有目标节点在重做redo log之后才会向主节点返回redo log的位置信息。

RHAC集群的特点:

1. 通过数据库的redo log进行复制,在备用节点恢复的时候可以通过最后一个检查点自动追平redo log,保证主备节点的数据完整性和一致性;

2. 对主节点性能影响最小;

3. 对应用透明访问;

4. 故障切换时间在30秒内完成;

5. 主备节点均可读可写。

RHAC集群的使用场景:

1. 长距离传输的业务场景或异地容灾的场景;

2. 网络的延迟和带宽都要求比较宽松。

HAC和RHAC部署架构如下图所示:

南大通用GBase 8s高可用集群架构介绍_数据库_02

连接管理器CM

连接管理器CM(Connection Manager)是GBase 8s自带的数据库集群管理组件。该组件有两个功能,应用客户端向GBase 8s进行连接访问,用于数据库集群故障发现、故障转移。

该组件可以单独部署,也可以和数据库部署在一起,为了避免单点故障,可以部署多个CM。


 GBase 8s基于共享存储的数据库集群

对于大型业务系统来说,一般会采用基于共享存储的双节点或者多节点数据库集群来支撑业务的高可用。GBase 8s共享存储高可用集群SSC,采用共享磁盘方式实现节点高可用,数据仅存储一份,有效利用硬件资源,避免数据重复存储问题。共享存储支持磁盘阵列也支持分布式存储,IO设备支持裸设备也支持共享文件系统。

集群为主控对等管理模式,查询时访问本地缓存,无网络开销,线性扩展性良好,集群节点数最多可达16个,所有节点均可读写。当主节点失效时,辅助节点可以升级为主控节点,保障系统的高可用。

SSC集群的特点:

1. 类RAC技术,支持共享存储,保证数据的强一致性;

2. 应用透明访问;

3. 集群中所有节点均可读写;

4. 集群故障切换在30秒内完成;

5. 在数据量低于100TB的业务场景中,相对于分布式数据库来说,性价比最高的数据库集群方案。

SSC集群使用场景:

1. 数据量超过10TB小于100TB的业务场景;

2. 单机能力或主备式集群处理能力不满足的业务场景。

部署架构如下图所示:

南大通用GBase 8s高可用集群架构介绍_GBASE_03

对SLA要求更加严格的关键核心业务系统,GBase 8s也有两地三中心高可用解决方案。部署架构如下图所示:


南大通用GBase 8s高可用集群架构介绍_GBase数据库_04


如上图所示,主机房采用4节点的SSC集群架构,同城灾备机房部署一个HAC节点,异地灾备机房部署一个RHAC容灾节点,完美地构建了两地三中心的部署架构。

应用程序通过CM访问数据库集群,应用程序无法知道数据库集群的部署情况,相对数据库来说更安全。

当主节点发生故障时,一个SSC节点自动提升为主节点接管业务,其他节点自动向新的主节点看齐,并自动同步无需人工干预。当备用节点故障的时候,也不影响整个数据库集群的访问和业务的持续运行。

GBase 8s 数据实时交换共享集群

GBase 8s内置以表为单位的数据实时同步能力,对标OGG。

该能力的特点如下:

1. 数据库可以有两个或多个节点,每个节点均可读、可写;

2. 每个表上的同步支持单向同步、也支持双向同步;

3. 可以支持完整行的数据同步,也支持特定字段的数据同步;

4. 支持全量同步、增量同步,支持断点续传;

5. 支持数据快速比对;

6. 当有一个节点故障的时候,业务系统可以在1秒以内切换到其他节点,最大化保障业务连续性;

7. 支持一键部署;

8. 可以在两个数据库集群之间使用表复制的能力连接起来,从而实现数据库集群双活的能力。


南大通用GBase 8s高可用集群架构介绍_GBASE_05

该能力的使用场景:

  1.  野外或无人值守环境,对数据库干预较少的场景;
  2. 对数据库切换时间要求极短的场景;
  3. 部省市县数据实时交换共享业务场景;
  4. 平行单位之间数据实时交换共享场景。

标签:架构,log,数据库,节点,集群,8s,redo,GBase
From: https://blog.51cto.com/u_16565911/12119371

相关文章

  • SQLite架构与关键函数
     Sqlite架构解析-知乎(zhihu.com)SQLite是一种轻量级的嵌入式数据库系统,被广泛应用于各种移动设备和桌面应用程序中。下面学习SQLite数据库的存储机制,并介绍其相对于其他数据库系统的优势。通过深入了解SQLite的存储机制,我们可以更好地理解它在实际应用中的表现和优势。SQL......
  • 在K8S中使用Argo CD做持续部署
    什么是ArgoCDArgoCDisadeclarative,GitOpscontinuousdeliverytoolforKubernetes.ArgoCD是一个基于Kubernetes的声明式的GitOps工具。在说ArgoCD之前,我们先来了解一下什么是GitOps。什么是GitOpsGitOps是以Git为基础,使用CI/CD来更新运行在云原生环境的应用,它秉......
  • Spring Boot 三层架构结合 Redis 和 ELK 实现高效应用开发
    目录一、技术选型二、项目结构三、SpringBoot三层架构实现四、配置Redis五、配置ELK六、代码解析在企业级应用开发中,良好的架构设计和强大的技术栈能够提高开发效率、增强系统性能和可维护性。本文将介绍如何使用SpringBoot构建三层架构,并结合Redis和ELK(Ela......
  • 面试真题 | 小红书-C++引擎架构
    文章目录1.自我介绍2.项目3.c++多态,如何实现的,虚表、虚表指针存储位置C++多态的实现机制虚表指针的存储位置面试官的深度追问4.explicit关键字explicit关键字的回答面试官可能的追问5.unique_ptr、shared_ptr、weak_ptr的原理,有没有线程安全问题,weak_ptr的解决......
  • 【linux】cent7安装nmon(arm架构,mac虚拟机)
    因为nmon最新版不支持arm架构,所以需要手动下载源码和编译文件手动生成可执行文件mkdir-p/usr/local/tools/nmoncd/usr/local/tools/nmon1、下载源码地址:https://nmon.sourceforge.io/pmwiki.php?n=Site.CompilingNmonwget http://sourceforge.net/projects/nmon/files/lm......
  • arch3 信息系统架构设计
    信息系统架构(InformationSystemArchitecture,ISA)则是指对某一特定内容里的信息进行统筹、规划、设计、安排等一系列有机处理的活动。它的主体对象是信息,由信息建筑师来加以设计结构、决定组织方式以及归类,好让使用者与用户容易寻找与管理的一项艺术与科学。架构风格能否达......
  • RTE 大会报名丨AI 时代新基建:云边端架构和 AI Infra ,RTE2024 技术专场第二弹!
       所有AIInfra都在探寻规格和性能的最佳平衡,如何构建高可用的云边端协同架构? 语音AI实现human-like的最后一步是什么? AI视频的爆炸增长,给新一代编解码技术提出了什么新挑战? 当大模型进化到实时多模态,又将诞生什么样的新场景和玩法? AI加持下,空间计算......
  • mvvm软件架构 个人见解
    usingSystem;usingSystem.Collections.Generic;usingSystem.Linq;usingSystem.Text;usingSystem.Threading.Tasks;namespaceMVVM{  //MVVM框架——Vm层——///  ///主体框架是 数据 ViewModel---》dataservice----》config-----》各个模块  //......
  • k8s常用取证命令
    显示和查找资源列出所有namespace中的所有service$kubectlgetservices列出所有namespace中的所有pod$kubectlgetpods--all-namespaces列出所有pod并显示详细信息$kubectlgetpods-owide列出指定deployment$kubectlgetdeploymentmy-dep列出该nam......
  • k8s安装并迁移jumpserver
    一、环境二、安装依赖服务以下操作按需操作1.安装Helmwgethttps://get.helm.sh/helm-v3.12.1-linux-amd64.tar.gztarxfhelm-v3.12.1-linux-amd64.tar.gzmvlinux-amd64/helm/usr/local/bin/helmversionhelmrepoaddjumpserverhttps://jumpserver.github.io/helm-char......