GaussDB-软件架构

GaussDB-软件架构
GaussDB软件架构
GaussDB是基于Shared-Nothing架构的分布式数据库。
图1 分布式架构图

图2 主备版架构图

GaussDB主要包含了GTM(Global Transaction Manager)、OM(Operation Manager)、CM(Cluster Manager)、CN(Coordinator Node)和DN(Data Node)等模块。

图3 分布式逻辑架构图

图4 主备版逻辑架构图

表1 相关参数解释
名称

描述

说明

OM

运维管理模块(Operation Manager)。提供集群日常运维、配置管理的管理接口、工具。

不同于集群中的实例(GTM、CM、CN、DN)模块,OM为用户提供了相关工具对集群进行管理。

CM

集群管理模块(Cluster Manager)。管理和监控分布式系统中各个功能单元和物理资源的运行情况,确保整个系统的稳定运行。

CM由CM Agent、OM Monitor和CM Server组成。

CM Agent:负责监控所在主机上主备GTM、CN、主备DN的运行状态并将状态上报给CM Server。同时负责执行CM Server下发的仲裁指令。集群的每台主机上均有CM Agent进程。CM Server会将集群的拓扑信息保存在ETCD。
OM Monitor:看护CM Agent的定时任务,其唯一的任务是在CM Agent停止的情况下将CM Agent重启。如果CM Agent重启不了,则整个主机不可用,需要人工干预。
说明:
CM Agent重启的情况很少发生,如果出现可能是因为系统资源不够用导致无法启动新进程。

CM Server:根据CM Agent上报的实例状态判定当前状态是否正常,是否需要修复,并下发指令给CM Agent执行。
GaussDB提供了CM Server的主备实例方案,以保证集群管理系统本身的高可用性。正常情况下,CM Agent连接主CM Server,在主CM Server发生故障的情况下,备CM Server会主动升为主CM Server,避免出现CM Server单点故障。

GTM

全局事务管理器(Global Transaction Manager),负责生成和维护全局事务ID、事务快照、时间戳、sequence信息等全局唯一的信息。

整个集群只有一组GTM:主GTM一个,备GTM一个或多个。

CN

协调节点(Coordinator Node)。负责接收来自应用的访问请求,并向客户端返回执行结果;负责分解任务,并调度任务分片在各DN上并行执行。

负责接收来自应用的访问请求,并向客户端返回执行结果。CN负责协调分解任务,并调度任务分片在DN(Data Node)上并行执行。

集群中,CN可以有多个,分别部署在不同的计算节点。多个CN的角色是对等的,执行DML语句时连接到任何一个CN都可以得到一致的结果。

DN

数据节点(Data Node)。负责存储业务数据(支持行存、列存、混合存储)、执行数据查询任务以及向CN返回执行结果。

负责存储业务数据、执行数据查询任务以及向CN返回执行结果。

GaussDB支持DN一主多备高可靠方案。在集群中,DN有多个,数量可以通过配置文件进行配置。其工作原理如下:

DN主、备Quorum复制。主、备DN上均存有数据。例如,一主两备,则数据有三份。任何一个DN故障,集群仍然有双份数据确保继续运行。任何一个备DN都可以升主。

建议将主、备DN分散部署在不同的计算节点中。

ETCD

分布式键值存储系统(Editable Text Configuration Daemon)。用于共享配置和服务发现(服务注册和查找)。

负责服务发现(Service Discovery)、消息发布与订阅、负载均衡、分布式通知与协调、分布式锁、分布式队列、集群监控与Leader竞选等功能。

数据复制软件软件架构
图5 数据复制软件产品架构图

云数据库GaussDB管理平台(TPOPS)软件架构
云数据库GaussDB管理平台(TPOPS)基于B/S架构开发,由Web、管控Service、管控Agent三部分组成,软件架构如图6所示。

图6 云数据库GaussDB管理平台(TPOPS)软件架构

Web:作为用户接入子系统,用于将用户在Web下发的操作指令通过管控Service下发到数据库实例,同时也可以将管控的console-service服务分析处理后的数据通过Web交互模块传递给Web用户界面向客户展示。
管控Service:管控Service是GaussDB轻量化管控的分析控制子系统,包含Web交互模块、实例业务模块、组件业务模块、数据业务模块等微服务模块。向上通过Web交互模块对Web展示实例的监控数据,向下通过组件业务模块对管控Agent下发操作指令。管控Agent收集的信息存储在管控Service的监控数据库和元库中,由管控Service的实例业务模块和数据业务模块进行分析处理。
微服务模块有:
DBS-gaussdb-console
DBS-GaussDB-open-api
DBS-GaussDB-instancemanager
DBS-GaussDB-backupmanager
DBS-monitor-service
DBS-luban
DBS-auth
DBS-ots
DBS-zookeeper
DBS-kafka
DBS-rds-ha-admin
InfluxDB
DBS-common-service
DBS-resource-manager
DBS-workflow
管控Agent:用于收集实例、主机、组件等运行数据,上报给管控Service进行分析处理。同时也根据管控Service下发的指令在实例上进行相应的操作。实例各节点上均部署一个管控Agent,所有管控Agent共同组成GaussDB轻量化管控的实例监控子系统。
更多详情请参考GaussDB 文档中心:https://doc.hcs.huawei.com/db/zh-cn/gaussdbqlh/24.1.30/productdesc/qlh_03_0001.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值