seata [Summer2021] Improving the phase-two performance of TCC mode

qnyhuwrf  于 2022-12-31  发布在  其他
关注(0)|答案(1)|浏览(133)

Background

At present, the TCC mode only supports synchronous rollback, but in some scenarios, some TCC branches can be rollback asynchronously.
Reduce the cost of global rollback.

The Seata community wants to open the task to Summer 2021 .

Target

In TCC mode, the phase-two rollback can be asynchronous.

Difficulty

Medium

Mentor

@wangliang181230
841369634@qq.com

Output Requirements

  • TCC annotation, add a field for the type of rollback. The default value is synchronous rollback.
  • When the TCC branch is registered, the type of rollback is submitted to Seata-Server together.
  • When Seata-Server global rollback, if the type of rollback is asynchronous rollback, skip the branch and let a thread named asyncRollbacking rollback the branch.

Technical Requirements

  • Familiar with Java programming language.
  • Understand common design patterns
  • Ability to read source code

————————————————————————

背景

目前TCC模式只支持同步回滚,但是在部分场景下,部分TCC分支是可以异步回滚的。
降低全局回滚的时间成本。

Seata 社区想将这个任务开放给 Summer 2021

目标

在TCC模式下,二阶段回滚操作可异步化。

难度

中等

导师

@wangliang181230
841369634@qq.com

产出要求

  • TCC的注解,添加回滚方式的字段,默认:同步回滚。
  • TCC分支注册时,将回滚方式一同提交到 Seata-Server
  • Seata-Server 全局回滚时,如果分支的回滚方式为异步回滚,则跳过该分支,留到异步定时任务来处理回滚。

能力要求

  • 熟悉Java开发语言。
  • 理解常见设计模式。
  • 具备一定的源码阅读能力。

相关问题