![](https://img-blog.csdnimg.cn/20201014180756926.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
分布式事务
文章平均质量分 92
zhengcs已被占用
这个作者很懒,什么都没留下…
展开
-
Seata学习笔记三:高可用实现之ZK
Seata的高可用模式是通过TC使用db模式共享全局事务会话信息,使用非file的seata支持的第三方注册中心和配置中心来共享全局配置的方式来实现的。Seata支持的第三方注册中心有nacos 、eureka、redis、zk、consul、etcd3、sofa、custom,支持的第三方配置中心有nacos 、apollo、zk、consul、etcd3、custom。seata官方主推的应该是nacos(毕竟是一家的),但是由于本人平常使用的注册中心一直是zk,因此首先考虑通过zk作为注册中心来实原创 2020-07-03 12:24:59 · 2743 阅读 · 3 评论 -
Seata学习中遇到的问题记录
1、1.2.0版本注册中心使用zk的时候,server启动报错:读取zk配置信息的时候异常。错误原因:序列化问题,由于使用seata自带的zk-config.sh脚本向zk写入配置信息的时候,采用的序列化方式相当于String.getBytes(),而框架读取配置的时候使用的是org.101tec包中的Zkclient客户端,反序列化使用的是该包下面的SerializableSerializer序列化类,使用的ObjectOutputStream进行反序列化,和序列化方式不一致。该问题在1.3.原创 2020-07-02 20:46:07 · 1040 阅读 · 0 评论 -
多数据源下事务支持
最近工作中遇到一个问题,由于某个业务明细表数据量越来越大,因此对该表进行了分表处理,考虑到其他业务未进行分表,因此重新配置了一套分表的数据源配置,这样项目中同时有两套数据源,两套事务管理器。项目开发完毕后同事在偶然的情况下发现部分数据不正常,经过问题追踪,发现是在某个事务中,同时涉及两个数据源,@Transactional启动事务的时候使用了默认的事务管理器,导致新加的分表数据源不被事务管理,异常出现时无法进行回滚。之前没有在项目中使用多个数据源,一直没发现这方面的问题,网上查找发现关于这个问题的文章挺多原创 2020-06-18 20:00:20 · 743 阅读 · 0 评论 -
Seata学习笔记二:Spring Boot + Dubbo下AT模式的尝试性使用
由于笔者日常的工作环境是Spring Boot + Dubbo + mysql,出于实用性考虑,首先尝试在此基础上实现Seata AT的接入。原创 2020-06-15 20:59:49 · 486 阅读 · 0 评论 -
Seata学习笔记一:初识Seata(持续更新中)
什么是Seata?官网定义:Seata 是一款开源的分布式事务解决方案,致力于提供高性能和简单易用的分布式事务服务。Seata 为用户提供了 AT、TCC、SAGA 和 XA 事务模式,为用户打造一站式的分布式解决方案。Seata三要素TC - 事务协调者:维护全局和分支事务的状态,驱动全局事务提交或回滚。TM - 事务管理器:定义全局事务的范围 ---- 开始全局事务、提交或回滚全局事务。RM - 资源管理器:管理分支事务处理的资源,与TC交谈以注册分支事务和报告分支事务的状态,并驱动原创 2020-06-14 22:17:44 · 769 阅读 · 0 评论