TCC的中文含义 tcc是什么意思( 二 )


思考
TCC在某种意义上来说和两阶段(2PC)提交非常类似,Try和prepare类似,confirm相当于commit,cancel和rollback一样都是回滚动作,只不过TCC的两阶段提交是在业务层面的(需要开发者根据各自业务的特点来实现try-confirm-cancel),2PC则更多用在数据库事务处理上,倾向于底层的实现和具体业务无关 。
最后来思考一个问题,TCC是否适用于所有的业务场景?答案一定是否定的,没有一种方案是万能的 。
【TCC的中文含义 tcc是什么意思】首先,TCC事务机制要求必须实现Try confirm cancel3个接口,所以需要额外的开发资源;其次,由于TCC的关键在于Try阶段的资源预留,当业务复杂度比较高的时候,就会产生很多的中间状态,预留的资源的成本会比较高,倍数增加了业务的复杂度,对性能也会有影响 。所以,在处理分布式事务的时候,还是具体情况具体分析,根据业务场景选择不同的事务处理机制,也可以多种机制混合使用(2PC,TCC,事务型消息队列,事务补偿等等),毕竟适合自己的才是最好的 。

推荐阅读