开篇
阿里把FESCAR开源了,开源后的名称叫SEATA。目前GIT上已经超1万3的星了。
可是笔者遍历全网段,无一篇是生产实用级说明同时GIT官网上的相关文档缺失以及Sample都太HelloWorld了,无法应用在真正的生产环境上。
于是笔者结合了在6,7年前那时在那个MQ年代来解决分布式事务的经验,结合这次的SEATA(最新一次COMMIT在2019年12月底)来讲一下最最新的也是目前最最潮的如何解决分布式事物中又要考虑数据的最终一致性同时还要兼顾性能及高效、吐吞率时,作为阿里的这一套开源组合是怎么把它们做到极致的。
笔者在这边并不想作太多长篇大论或者像网上所有的关于SEATA方面的文章那样直接COPY PASTER一堆的所谓源码来凑字数。笔者在这边先讲一下分布式事务的几个重要概念然后上生产上的实战级代码、应用和剖析。
简述分布式事务
在大型网站、并发流量高的网站,其实也不用太高,高到什么样的一个层级需要考虑分布式事务呢。看一下下面这样的一个描述:
当你的生产环境的DB中假设有100个表,每个表数据量超过1亿。这时已经不是集群、主备、读写分离这么简单的一件事就可以搞定了。
或者你可以通