互联网服务方案建议书

TDSQL的分布式事务2PC+GTM遇到那些挑战?

使用2PC+GTM解决分布式事务,遇到那些挑战?显示全部

使用2PC+GTM解决分布式事务,遇到那些挑战?

收起
参与5

查看其它 1 个回答Dingk的回答

DingkDingk副总经理张家港行

对于分布式数据库来说,分布式事务实际上是最核心最难的部分。所有的分布式数据库都会面临一个问题,就是到底能不能给用户,提供一个数据一致性读写功能。影响事务一致性的场景很多,很多分布式场景用2PC来解决分布式事务的问题,但是2PC不能解决其全部问题。
一个事务在集群里可能在很多节点参与,这个事务的状态最终一定要同步到每一个参与节点中。只要事务有不同状态,又有先后不同提交顺序,就会涉及到一个问题?从整个集群上看,这个事务到底是什么时候提交的?集群范围内看一个事务状态的翻转,必须只能有一个依据。
具体通过两个手段:第一:全局时钟。GTS从哪里来?逻辑时钟从零开始内部单向递增且唯一,由GTM维护,定时和服务器硬件计数器对齐;硬件保证时钟源稳定度。
第二:对MVCC做了一些分布式的改造。多个GTM节点构成集群,主节点对外提供服务;主备之间通过日志同步时间戳状态,保证GTS核心服务可靠性,提升GTM最大容量。
通过以上方法,解决了分布式事务的先后顺序问题。

银行 · 2020-06-08
浏览1834

回答者

Dingk
副总经理张家港行
擅长领域: 数据库服务器分布式系统

Dingk 最近回答过的问题

回答状态

  • 发布时间:2020-06-08
  • 关注会员:2 人
  • 回答浏览:1834
  • X社区推广