GaussDB软件架构
分布式逻辑架构图:
主备版逻辑架构图:
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竞选等功能。
版权声明:本文为博主原创文章,未经博主允许不得转载。