gtm高可用概述
GTM高可用机制概述¶
GTM是SeaboxMPP数据库系统的全局事务管理器,提供了全局事务管理能力,可以协调各个coordinator完成分布式事务的处理,实现了SeaboxMPP数据库系统对事务能力的完整支持。
SeaboxMPP数据库系统在进行事务处理时,依赖GTM对事务的管理能力,一旦GTM发生故障,SeaboxMPP的事务处理将无法继续进行下去,因此GTM本身也需要提供完善的高可用机制。GTM的高可用分为两个方面:数据高可用和服务高可用。
- GTM在运行时,为了确保运行期间的性能,数据都保存在内存中,只是定期地将数据刷新到磁盘上。为了确保数据的高可用,将GTM的数据存储到SCDCS中,由SCDCS自身的高可用机制确保GTM数据的高可用性。
- GTM服务高可用由系统的整体设计来保证:
- coordinator在进行事务处理时,需要从GTM申请transactionID,并将transactionID保存起来。
- 集群监控服务会监控GTM的运行状态,如果GTM发生了故障,则会尝试让其再次启动;如果GTM无法在设定时间(默认30s)内启动,则会将GTM服务迁移到依然在线的coordinator主机上。
- GTM在新的主机上启动后,会从SCDCS下载数据文件,然后收集各个coordinator上依然在运行的transactionID,收集完成后,GTM开始对外提供服务。
GTM相关信息的查询方法
- 使用
seabox status -a -m gtm
可以查询GTM所在的主机、状态、端口、数据目录等信息