南大通用GBase 8c数据库之分布式高可用部署架构说明

原文链接:https://www.gbase.cn/community/post/4125

更多精彩内容尽在南大通用GBase技术社区,南大通用致力于成为用户最信赖的数据库产品供应商。

南大通用GBase 8c多模多态数据库,支持单机、主备式、分布式部署形态。无论主备式或分布式形态均支持高可用。GBase 8c的分布式设计依托于南大通用均衡多方因素沉淀得出的技术和经验。GBase 8c分布式高可用支持全组件级冗余,即所有节点都支持高可用部署。本文对南大通用GBase 8c分布式高可用做简单介绍,分布式架构可参见如下:

可以看到,南大通用GBase 8c分布式数据库实际包含CN、DN、GTM和HA管理组件,各个组件具体介绍如下:

CN:协调器,采用完全对等的部署方式。对外提供接口,负责进行SQL解析和优化、生成执行计划,并协调数据节点进行数据查询和写入。在功能上CN上只存储系统的全局元数据,并不存储实际的业务数据;在部署上,CN多个节点完全对等的部署方式,每个节点在同一时间对外都提供相同的数据库视图,所以我们的CN节点高可用可以根据实际的业务需求,部署1个或多个都可以,多个CN节点可以部署在同机房、同城、异地都可以。

DN:数据节点,采用主备的高可用架构,主备之间可以配置同步或异步方式。用于处理存储本节点相关的元数据,每个节点还存储它所在的业务数据的分片。在功能上,DN节点负责完成执行协调器节点分发的执行请求,完成数据存储和本地数据查询和写入;在部署上,DN节点每个高可用组采用主从备份的方式,可以部署单主、一主一从以及一主多从的部署方式均可,主从之间可以配置为同步的备份方式也可以配置为异步的备份方式,也可以在一个高可用组内同时存在同步和异步的节点,一般同机房同城的节点之间采用同步的备份方式,异地的节点之间采用异步的备份方式。

GTM:全局事务管理器,采用主备的高可用架构,主备之间可以配置同步或异步方式。主要是做分布式事务,负责生成并维护全局时间戳,保证集群数据一致性。在部署上,GTM的与DN节点的部署类似,也是一主多从的备份方式,节点间可以采用同步的备份方式也可以采用异步的备份方式。

HA Center(等效于ETCD):集群状态管理器,采用Raft的复制协议。存储各个节点的高可用状态,负责在故障情况下判断集群各个节点状态。

GHA Server(等效于patroni):集群管理器,采用主备的高可用架构,主备之间可以配置同步或异步方式。用以管理整个集群各个节点的高可用状态(主备、死活等)。GHA Server的主备信息与DN类似,也是将leader信息存在HA Center上,谁先写谁就是主,需要周期更新,如果超过TTL没更新就会删掉leader信息,其他节点去写就能写进去就变成leader了。

GHA Agent跟着每个CN和DN上都有,作为代理,接收GHA Server的消息并处理。

具体在server服务器上体现的是高可用进程:

gha_server是主要运行在管理节点的服务进程,管理整个集群节点间进程和集群状态,具体工作原理如下:

rpc:消息通信,gha_ctl所有消息都是通过rpc发给gha_server,gha_server处理完之后通过rpc发给gha_agent,gha_agent返给gha_server再返出去

arbiter:决策进程,是gha_server最繁忙的进程。 用来决策节点死活、断网等。

leader checker:gha_server本身是主备的架构,为了防止出现双主的情况,做了主的检测。leader ping所有的ha center节点,如果都失败说明孤岛了,就自己把leader让出来。

cluster_info_publisher:网络拓扑信息通信,周期发给gha_agent。

dcs_updater:因为gha_server内部存的状态信息会频繁变化,有时候往ha center上写会写失败,写失败就放到dcs_updater里面置个标志位,接着往下写(为了保证ha center上的状态都是最新的是正确的)

gha_agent运行在每个节点上,执行由gha_server进程下发或主动监控上报消息给gha_server,具体工作原理如下:

rpc:和gha_server进行消息通信

reporter:周期查询数据库状态,会周期(3秒)更新给gha_server的arbiter。

state reporter:取自己节点的pgxcnode表周期更新给gha_server,gha_server跟自己的网络拓扑对比,发现跟自己的网络拓扑不一样就做查缺补漏

ha state reporter:为了防止出现DN双主,现在的高可用系统在判断DN主坏掉的过程是gha_server收不到gha_agent的消息了。但是如果是断网的情况,就会有主备倒换的误操作(DN主没坏,只是跟gha_server通不上信了),就会双主。为了防止出现双主的情况, ha state reporter用于DN备机与DN主机周期通信,需要半数以上DN备机判断DN主失联才会触发主备倒换。

leader checker:DN或者GTM的主发现自己进入孤岛,就会自动把自己的leader让出来并重启。

同时,高可用模块参考模块:

etcd:运行RAFT协议,用于存储各个高可用组的内部状态,各个高可用组据此执行切换等操作。

patroni:采用Python开发,支持原生PG高可用的开源工具,只支持一个高可用组,在本系统中需加以改进,以支持多个高可用组。Patroni作为一个代理,运行在每一个节点上,监控当前节点的健康状况,并反映到etcd上,同时通过etcd了解其它节点的健康状况,据此实现主备切换等操作。

从上面的介绍可以看到,GBase 8c分布式架构已经充分考虑了自身组件的高可用,在实际部署中,我们可以根据部署服务器资源灵活设计高可用部署架构,保障自己数据的可靠性和安全性。

原文链接:https://www.gbase.cn/community/post/4125

更多精彩内容尽在南大通用GBase技术社区,南大通用致力于成为用户最信赖的数据库产品供应商。

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 218,525评论 6 507
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 93,203评论 3 395
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 164,862评论 0 354
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,728评论 1 294
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,743评论 6 392
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,590评论 1 305
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,330评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,244评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,693评论 1 314
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,885评论 3 336
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 40,001评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,723评论 5 346
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,343评论 3 330
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,919评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 33,042评论 1 270
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,191评论 3 370
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,955评论 2 355

推荐阅读更多精彩内容