暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

TDSQL高可用整理

原创 夏克 2022-11-12
773

系统架构

TDSQL PostgreSQL版采用分布式集群架构,如下图所示。 该架构分布式无共享(share nothing)模式,节点之间相应独立,各自处理自己的数据,处理后的结果可能向上层汇总或在节点间流转,各处理单元之间通过网络协议进行通信,并行处理和扩展能力更好,这也意味着只需要简单的x86服务器就可以部署TDSQL PostgreSQL版数据库集群。

图片.png

下面简单解读一下TDSQL PostgreSQL版内核的各个模块。

  • Coordinator:协调节点(简称CN),对外提供接口,负责数据的分发和查询规划,多个节点位置对等,每个节点都提供相同的数据库视图;在功能上CN上只存储系统的全局元数据,并不存储实际的业务数据。

  • Datanode:处理存储本节点相关的元数据,每个节点还存储业务数据的分片,简称DN。在功能上,DN节点负责完成执行协调节点分发的执行请求。

  • GTM:全局事务管理器(Global Transaction Manager),负责管理集群事务信息,同时管理集群的全局对象,比如序列等。

在这个架构下,TDSQL PostgreSQL版集群具有下面几个能力:

  • 多活/多主:每个coordinator提供相同的集群视图,可以从任何一个CN进行写入,业务无需感知集群拓扑。
  • 读/写扩展:数据分片后存储在了不同的DN上,集群的读/写能力随着集群规模的扩大而得到提升。
  • 集群写一致:业务在一个CN节点发生的写事务会一致性的呈现在其他的CN节点,就像这些事务是本CN节点发生的一样。
  • 集群结构透明:数据位于不同的数据库节点中,当查询数据时,不必关心数据位于具体的节点。TDSQL PostgreSQL版的share nothing集群架构方便了业务接入,降低了业务接入的门槛。

容灾能力

图片.png

多中心容灾部署建议

同城双中心部署建议

图片.png

同城双中心部署模式下,建议至少采用一主两从的三节点的方式,三组节点分布在同城两个IDC机房里,机房之间使用专线互通,主IDC机房部署一主一从两组节点:包含全局事务管理器节点(GTM节点)、协调节点(CN节点)、数据节点(DN节点),备IDC机房至少部署1个一组从节点。若业务需要使用TDSQL PostgreSQL版的HTAP能力,那么必须开启TDSQL PostgreSQL版的读写多平面特性,协调节点(CN节点)必须进行区分。考虑到跨机房的时延问题,我们的备IDC建议只开启读平面。负载均衡层面,TDSQL PostgreSQL版集成了LVS功能可以直接使用,业务也可以自行选择腾讯云提供的TGW等负载均衡组件。TDSQL PostgreSQL版集群中,同一平面的CN节点是对等的,由于LVS等负载均衡的组件,具备故障节点自动剔除的能力,可以保证在任意平面的CN故障时,业务请求不会失败;GTM节点以及DN节点均有同步备机存在,TDSQLPostgreSQL版在OSS系统的辅助下,会在1分钟以内发现故障,并发起自动切换,数据保证0丢失。

两地三中心部署建议

图片.png

两地三中心的方案在同城双中心的基础上,增加一个异地灾备中心(如上图)。两个灾备实例之间通过流复制的方式进行同步。

「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论