Seata
文章平均质量分 55
weixin_40455124
这个作者很懒,什么都没留下…
展开
-
seata RM基本分析
seata RM端 AT(自动事务)模式相关主要类可以分为以下几种JDBC Proxy, 封装jdbc datasource、connection、preparedstatement及statement,其中DataSourceProxy提供是否proxy的连接,plaintConnection指实际数据库连接,直接使用plain connection模式主要是用于提交undolog及无法识别...原创 2019-09-25 20:01:32 · 842 阅读 · 0 评论 -
Seata TC及AT事务代码分析
先说下Seata的配置,seata启动必须有一个默认为register.conf的文件,这个文件最关键的配置项是type:决定seata使用哪种配置模式:file、etcd、nacos等等,如果使用配置文件,默认为file.conf。对应register.conf及file.conf的配置,是使用com.typesafe.config.ConfigFactory来读取的,这两个文件的完整示意可以...原创 2019-09-27 23:44:23 · 634 阅读 · 0 评论 -
seata spring cloud 代码分析
Seata 与spring (cloud)的代码主要分为两个project在Seata主体工程下的spring ,主要是annotation 定义,scanner及GlobalTransactionalInterceptor、TccActionInterceptor , 关键执行过程可以看TransactionalTemplate在spring-cloud-alibaba 下的 /sprin...原创 2019-09-29 20:32:44 · 194 阅读 · 0 评论 -
seata TCC
seata TCC 模式本质上不关心是否是数据库操作,可以用于任何需要二次确认的操作,如数据库提交成功后确保消息发送,关键annotation:@TwoPhaseBusinessAction(name = "TccActionOne" , commitMethod = "commit", rollbackMethod = "rollback")TCC 关键类主要在seata-tcc 项目下,...原创 2019-10-03 08:53:34 · 930 阅读 · 0 评论 -
seata clientID 及channel选择
seata TC 给每个客户端(TM及RM)都会编一个ID,这个ID是在TC端根据RPC context来设置的,无法自行设置,具体相关代码如下:private static String buildClientId(String applicationId, Channel channel) { return applicationId + Constants.CLIENT_I...原创 2019-10-03 18:31:37 · 2398 阅读 · 0 评论