2022谷粒商城学习笔记(二十三)分布式事务
前言
本系列博客基于B站谷粒商城,只作为本人学习总结使用。这里我会比较注重业务逻辑的编写和相关配置的流程。有问题可以评论或者联系我互相交流。原视频地址谷粒商城雷丰阳版。本人git仓库地址Draknessssw的谷粒商城
分布式事务
假使因为网络问题导致库存在提交订单时扣除成功,但是订单取消……本地事务回滚,但是调用的远程服务数据回滚失败。
分布式事务
事务的隔离级别
CAP
必须满足分区容错性,一致性和可用性二选一。
base
实现方案
seata使用
在每个需要使用的微服务的数据库添加undo_log表来记录事务操作
-- 注意此处0.3.0+ 增加唯一索引 ux_undo_log
CREATE TABLE `undo_log` (`id` bigint(20) NOT NULL AUTO_INCREMENT,`branch_id` bigint(20) NOT NULL,`xid` varchar(100) NOT NULL,`context` varchar(128) NOT NULL,`rollback_info` longblob NOT NULL,`log_status` int(11) NOT NULL,`log_created` datetime NOT NULL,`log_modified` datetime NOT NULL,`ext` varchar(100) DEFAULT NULL,PRIMARY KEY (`id`),UNIQUE KEY `ux_undo_log` (`xid`,`branch_id`)
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8;
因为我的nacos版本是1.3.1,所以我整合seata参考了这篇博文
naocs1.3.2整合seata1.3.0
但是有一点,seata不太适合高并发场景,它的各种隔离读,隔离写,都是需要获取全局锁,最后是一种串行化操作。
2022谷粒商城学习笔记(二十三)分布式事务相关推荐
- 2022谷粒商城学习笔记(二十二)rabbitMQ学习
前言 本系列博客基于B站谷粒商城,只作为本人学习总结使用.这里我会比较注重业务逻辑的编写和相关配置的流程.有问题可以评论或者联系我互相交流.原视频地址谷粒商城雷丰阳版.本人git仓库地址Draknes ...
- 谷粒商城学习笔记——第一期:项目简介
一.项目简介 1. 项目背景 市面上有5种常见的电商模式 B2B.B2C.C2B.C2C.O2O B2B 模式(Business to Business),是指商家和商家建立的商业关系.如阿里巴巴 B ...
- 立创eda学习笔记二十三:如何将原理图和焊盘关联?(交叉选择)
这是我在网上看到的一个提问,我对这个提问有两个理解, 1,如何显示原理图符号和PCB封装之间的对应位置关系? 那么可以使用以下的交叉选择功能. 这个功能是用来跳转原理图符号和PCB封装之间的对应位置. ...
- 分布式电商项目 谷粒商城 学习笔记<2>
文章目录 六.三级分类 1.按照父子类的结构获取所有分类 2.跨域问题的解决 1.使用nginx部署为同一域 2.让服务器告诉预检请求能跨域 3.过滤器优先级问题 4.删除 5.增加修改拖拽 七.品牌 ...
- python学习笔记(二十三) -- 多进程和多线程
目录 多线程多进程的意义 多进程的使用 方式一(fork): 只能在Unix/Linux/Mac系统下执行,windows不可以 方式二(multiprocessing.Process): 全平台通 ...
- 谷粒商城学习笔记(2)-- 环境搭建项目结构创建
一.环境 虚拟机ip192.168.174.128 本地ip192.168.31.14 本地和虚拟机要互相ping通 二.Docker 虚拟化容器技术.Docker基于镜像,可以秒级启动各种容器.每一 ...
- Mr.J-- jQuery学习笔记(二十三)--applycall
之前在学习JavaScript的时候写的:Mr.J--JS学习(继承模式发展史)里面写了我对原生JS call和apply的理解,以及原型链的应用:prototype apply&call J ...
- IOS学习笔记二十三对象归档(NSKeyedArchiver、NSKeyedUnArchiver、NSCodeing)
1.NSKeyedArchiver.NSKeyedUnArchiver 1).archiveRootObject:toFile 归档对象到这个路径文件 2).unarchiveObjectWithFi ...
- Java学习笔记(二十三)日志体系(logback)
Java日志体系(logback) logback 简介 师出同门,与log4j一样,logback也是由Ceki Gülcü开发的开源日志组件,可以说是log4j的改进版:在现如今的项目中,logb ...
最新文章
- 如何确定foreach循环中的第一次和最后一次迭代?
- html盒子高度自动收缩,CSS如何解决背景图随父盒子高度变化而拉伸或收缩的问题...
- 【php】使用gdb调试php程序
- IntelliJ IDEA 2019 激活码 | 全产品 | 跨平台 | Goland | PhpStorm | Rider | CentOS | Windows
- NSHashTable and NSMapTable
- linux win10 时间同步服务器,windows和linux下服务器时间如何校正?
- sqlserver实验心得体会_SQLServer数据库实训总结
- 服务器 'XXXXXX' 上的 MSDTC 不可用。解决方法
- 原画学习步骤,零基础一步步学原画
- GD32F103学习笔记(3)——新建工程
- 看着夜晚城市的广告都是用CorelDRAW发光字体效果很感叹
- 网络工程师中级--上午科目
- 12.接口测试报告包含哪些内容
- 互联网监控直播-LiveGBS分发出RTMP、HLS、FLV、RTSP视频流说明介绍
- VS2008SP1的MFC测试-(OFFICE2007风格)Ribbon风格(DJ尐舞图形画板2008)
- Tagxedo在线云词成像制作工具
- Oracle建表语句及日期处理(oracle)
- html并排div可重叠,html – 并排堆叠div
- python中\t \r \s \n \f各种转移字符含义
- 表情符号存入mysql_emoji等表情符号存mysql的方法
热门文章
- Exp8 web基础 20164323段钊阳
- -bash: /usr/bin/rm: 参数列表过长
- m3u8下载合并图片文件(但实际上还是ts文件)
- MD5与SHA加密算法
- python 爬虫 简单爬虫教程(requests + selenium )
- windows防火墙开启端口
- 二维几何图形创作方法(Geometry2D)
- 【OpenCV入门教程之一】 安装OpenCV:OpenCV 3.0、OpenCV 2.4.8、OpenCV 2.4.9 +VS 开发环境配置
- 第一次开发EOS区块链的经验
- 一体化3团队项目记录