GoldenDB是目前国内首屈一指的分布式数据库,在金融行业已有广泛的应用案例,本文带你认识一下GoldenDB的整体架构。
PS:
https://icraft.gantcloud.com/zh-CN
其实是尝试用这个网站画了2张3D图,编了这篇短文。画了一张后发现操作不够便捷,画起来比较耗费时间,想画得好看不太容易,还没有PPT画得方便。
整体架构说明

GoldenDB整体架构如上图所示。
包括:计算节点CN、数据节点DN、管理节点、GTM节点 四个部分。
实际安装过程中,非核心系统管理节点和GTM节点可以合并部署,计算节点和数据节点根据实际性能需求也可以合并部署。
计算节点接收SQL请求,生成分布式查询计划;访问数据节点,完成SQL请求。
数据节点用于数据存储、执行Sql操作和本地事务。每个分片可以看成一个mysql。不同节点之间的分片进行数据同步保证三副本。
GTM节点:全局事务管理器,负责维护全局事务的全生命周期,提供申请、释放、查询全局事务的能力。
管理节点:负责集群节点的管理,不涉及业务,以及统一操作维护入口。
节点功能拆解

可以看到这里面用了tomcat、activemq、kafka、zookeeper、es、filebeat等开源软件。
根据内部人士消息,明年起安装的数据库使用的开源软件就只有zookeeper了,作为管理节点选主使用。其它功能都集成到了InsightServer中。
目前各组件大致的访问关系如下图所示:

具体说明如下:
计算节点和数据节点之间通过dbagent通讯; 分片之间通过mysql的binlog同步复制; 事务访问计算节点,如果需要申请全局事务ID,会通过GTM管理节点申请GTID; ClusterManager统一管理数据节点; ProxyManager对计算节点进行统一管理; Metadataserver管理各节点的元数据信息; 每台服务器会部署ommagent,执行OMM下发的命令(新版本将取消该部分组件); InsightAgent是主机代理,每台主机上部署,执行insightserver下发的命令,收集数据。
文章转载自烈焰枷锁,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




