二十、SpringCloud Alibaba Seata处理分布式事务
目录
- 一、分布式事务问题
- 1、分布式之前
- 2、分布式之后
- 二、Seata简介
- 1、Seata是什么?
- 2、Seata能干嘛?
- 3、去拿下?
- 4、怎么玩
- 三、Seata-server安装
- 四、订单、库存、账户业务数据库准备
- 五、订单、库存、账户业务微服务准备
- 六、Seata原理介绍
一、分布式事务问题
1、分布式之前
单体应用的数据一直性靠本地事务保证
2、分布式之后

二、Seata简介
1、Seata是什么?
Seata是一款开源的分布式事务解决方案,致力于在微服务架构下提供高性能和简单易用的分布式事务服务
官网地址: http://seata.io/zh-cn
2、Seata能干嘛?
一个典型的分布式事务过程
分布式事务处理过程的一 ID + 三组件模型
Transaction ID XID : 全局唯一事务ID
三组件概念:
- Transaction Coordinator(TC): 事务协调器 - 维护全局和分支事务的状态,驱动全局事务提交或者回滚
- Transaction Manager (TM): 事务管理器 - 定义全局事务的范围,开始全局事务、提交或者回滚全局事务
- Resource Manager(RM):资源管理器 - 管理分支事务处理的资源,与TC交谈以注册分支事务和报告分支事务的状态,驱动分支事务提交或回滚
处理过程

3、去拿下?
http://seata.io/zh-cn/docs/download
0.9.0 版本 : https://github.com/seata/seata/releases/tag/v0.9.0
4、怎么玩
本地: @Transactional
全局: @GlobalTransactional
0.9.0版本进行演示,这个版本早就过时了,随便看看就好 !!
三、Seata-server安装
四、订单、库存、账户业务数据库准备
五、订单、库存、账户业务微服务准备
六、Seata原理介绍
由于周阳老师演示的版本 0.0.9 太老了。所以我这里就没有写具体的demo演示了,之后我会找一些高版本的学习一下 。。。。。
相关文章:
二十、SpringCloud Alibaba Seata处理分布式事务
目录 一、分布式事务问题1、分布式之前2、分布式之后 二、Seata简介1、Seata是什么?2、Seata能干嘛?3、去拿下?4、怎么玩 三、Seata-server安装四、订单、库存、账户业务数据库准备五、订单、库存、账户业务微服务准备六、Seata原理介绍 一、…...
标准误与聚类稳健标准误的理解
1 标准误 1.1 定义 标准误(Standard Error)是用来衡量统计样本估计量(如均值、回归系数等)与总体参数之间的差异的一种统计量。标准误衡量了样本估计量的变异程度,提供了对总体参数的估计的不确定性的度量。标准误越…...
【Github】将本地仓库同步到github上
许久没有用GitHub了,怎么传仓库都忘记了。在这里记录一下 If you have a local folder on your machine and you want to transform it into a GitHub repository, follow the steps below: 1. Install Git (if not already installed) Make sure you have Git in…...
c++视觉--通道分离,合并处理,在分离的通道中的ROI感兴趣区域里添加logo图片
c视觉–通道分离,合并处理 通道分离: split()函数 #include <opencv2/opencv.hpp>int main() {// 读取图像cv::Mat image cv::imread("1.jpg");// 检查图像是否成功加载if (image.empty()) {std::cerr << "Error: Could not read the…...
python爬虫:多线程收集/验证IP从而搭建有效IP代理池
目录 一、前言 二、IP池的实现 1. 收集代理IP 2. 验证代理IP可用性 3. 搭建IP代理池 三、多线程实现 四、代理IP的使用 五、总结 一、前言 在网络爬虫中,IP代理池的作用非常重要。网络爬虫需要大量的IP地址来发送请求,同时为了降低被封禁的风险…...
阻塞队列以及阻塞队列的一个使用
阻塞队列以及阻塞队列的一个使用 阻塞队列简介 阻塞队列(Blocking Queue)是一种常见的队列数据结构,它具有特殊的行为,可以用于多线程编程中,以协调不同线程之间的任务执行和数据传递。阻塞队列在多线程环境中非常有…...
kafka的请求处理机制
目录 前言: kafak是如何处理请求的? 控制请求与数据类请求 参考资料 前言: 无论是 Kafka 客户端还是 Broker 端,它们之间的交互都是通过“请求 / 响应”的方式完成的。比如,客户端会通过网络发送消息生产请求给 B…...
Linux系统管理:虚拟机Centos Stream 9安装
目录 一、理论 1.Centos Stream 9 二、实验 1.虚拟机Centos Stream 9安装准备阶段 2.安装Centos Stream 9 3.进入系统 一、理论 1.Centos Stream 9 (1) 简介 CentOS Stream 是一种 Linux 操作系统。安装此操作系统的难题在于,在安装此系统之前,…...
5种排序算法
文章目录 一,排序算法时间复杂度比较二,插入排序三,冒泡排序四,快速排序五,堆排序六,二分归并排序 一,排序算法时间复杂度比较 算法最坏情况下平均情况下插入排序O(n )O(n)冒泡排序O(n)O(n)快速…...
TCP/IP(七)TCP的连接管理(四)
一 全连接队列 nginx listen 参数backlog的意义 nginx配置文件中listen后面的backlog配置 ① TCP全连接队列概念 全连接队列: 也称 accept 队列 ② 查看应用程序的 TCP 全连接队列大小 实验1: ss 命令查看 LISTEN状态下 Recv-Q/Send-Q 含义附加:…...
LeetCode【84】柱状图中的最大矩形
题目: 思路: https://blog.csdn.net/qq_28468707/article/details/103682528 https://www.jianshu.com/p/2b9a36a548fa 清晰 代码: public int largestRectangleArea(int[] heights) {int[] heightadd new int[heights.length 1];for (i…...
C++:关于模拟实现vector和list中迭代器模块的理解
文章目录 list和vector的迭代器对比list的实现过程完整代码 本篇是关于vector和list的模拟实现中,关于迭代器模块的更进一步理解,以及在前文的基础上增加对于反向迭代器的实现和库函数的对比等 本篇是写于前面模拟实现的一段时间后,重新回头…...
HTML 笔记 表格
1 表格基本语法 tr:table row th:table head 2 表格属性 2.1 基本属性 表格的基本属性是指表格的行、列和单元格但并不是每个表格的单元格大小都是统一的,所以需要设计者通过一些属性参数来修改表格的样子,让它们可以更更多样…...
3.1 C/C++ 使用字符与指针
C/C语言是一种通用的编程语言,具有高效、灵活和可移植等特点。C语言主要用于系统编程,如操作系统、编译器、数据库等;C语言是C语言的扩展,增加了面向对象编程的特性,适用于大型软件系统、图形用户界面、嵌入式系统等。…...
[代码学习]einsum详解
einsum详解 该函数用于对一组输入 Tensor 进行 Einstein 求和,该函数目前仅适用于paddle的动态图。 Einstein 求和是一种采用 Einstein 标记法描述的 Tensor 求和,输入单个或多个 Tensor,输出单个 Tensor。 paddle.einsum(equation, *opera…...
女性必看——“黄体破裂”到底有多可怕?
前几天的亚运会上发生了这样一件事: 雅思敏(化名)是一名国外皮划艇运动员,在亚运会上奋力完成皮划艇比赛后,突然开始 剧烈腹痛、面色苍白,大汗淋漓,经过进一步检查,确诊卵巢黄体破裂…...
colab切换目录的解决方案
大家好,我是爱编程的喵喵。双985硕士毕业,现担任全栈工程师一职,热衷于将数据思维应用到工作与生活中。从事机器学习以及相关的前后端开发工作。曾在阿里云、科大讯飞、CCF等比赛获得多次Top名次。现为CSDN博客专家、人工智能领域优质创作者。喜欢通过博客创作的方式对所学的…...
基于SSM的生活缴费系统的设计与实现
末尾获取源码 开发语言:Java Java开发工具:JDK1.8 后端框架:SSM 前端:采用JSP技术开发 数据库:MySQL5.7和Navicat管理工具结合 服务器:Tomcat8.5 开发软件:IDEA / Eclipse 是否Maven项目&#x…...
【WebLogic】WebLogic 2023年7月补丁导致JVM崩溃的解决方案
受影响版本: Oracle WebLogic 12c(12.2.1.4.0)Oracle WebLogic 14c(14.1.1.0.0) 问题描述: Oracle官方在2023年7月发布的最新版本的OPatch(13.9.4.2.13)存在一个新出现的Bug&#…...
简单OpenSL ES学习
初识OpenSL ES OpenSL ESObjects和Interfaces 所有的Object在OpenSl里面我们拿到的都是一个SLObjectItf:SLObjectItf_创建引擎创建过程要设计得这么麻烦?(object的生命周期)这么多参数,参数类型这么多学习障碍太大&…...
别再手动录单了!手把手教你用U9C OpenAPI打通钉钉审批流(含完整配置流程)
别再手动录单了!手把手教你用U9C OpenAPI打通钉钉审批流(含完整配置流程) 当财务部的张经理第17次因为手工录入错误被审计部门退回单据时,他摔掉键盘的冲动都有了。这场景在很多企业司空见惯——U9C系统承载着核心业务数据&#…...
赣州琴行哪家最可靠
在赣州,选择一家可靠的琴行对于孩子的钢琴启蒙和成长至关重要。今天我们就来聊聊赣州的几家知名琴行,看看哪家最适合您的孩子。1. 可六琴行:专注儿童钢琴启蒙,天天练琴模式为什么选择可六琴行?1.1 专注儿童钢琴启蒙具体…...
电磁兼容(EMC)设计实战:从标准解读到测试优化
1. 电磁兼容(EMC)设计入门:从概念到标准体系 刚入行时,我总把EMC测试实验室比作"电子设备的体检中心"——这里用专业仪器给产品做"心电图"(传导干扰测试)、"核磁共振"&#…...
零基础玩转Qwen-Image-Edit-2511-Unblur-Upscale:模糊图片秒变清晰
零基础玩转Qwen-Image-Edit-2511-Unblur-Upscale:模糊图片秒变清晰 你是否遇到过这样的烦恼?手机里珍藏的老照片因为年代久远变得模糊不清,或者抓拍的精彩瞬间因为手抖而糊成一片。又或者,你从网上下载了一张心仪的图片ÿ…...
结合LSTM时序建模:深入理解SOONet处理视频连续性的机制
结合LSTM时序建模:深入理解SOONet处理视频连续性的机制 你有没有想过,为什么有时候看视频,AI能精准地知道“一个人从拿起杯子到喝水”这个完整动作的起止点?这背后,不仅仅是识别单张图片里的人在做什么,更…...
揭秘LLM System Prompt的逆向工程:从API调试到Prompt Injection实战
1. 什么是System Prompt? 当你和ChatGPT聊天时,有没有好奇过它为什么总是用特定的语气回答?比如你问"今天天气怎么样",它可能会说"根据我的知识库,天气信息需要实时查询..."而不是直接报个假数据。…...
从游戏设计到算法实现:拆解睿抗CAIP编程赛‘游戏设计师’一题的BFS+离线查询思路
从游戏设计到算法实现:拆解睿抗CAIP编程赛‘游戏设计师’一题的BFS离线查询思路 在游戏开发中,角色移动和状态转换是最基础也最核心的机制之一。睿抗机器人开发者大赛CAIP编程技能赛的"游戏设计师"一题,巧妙地将这些游戏开发中的实…...
OpenClaw技能开发:为nanobot编写天气查询插件
OpenClaw技能开发:为nanobot编写天气查询插件 1. 为什么需要自定义技能 当我第一次接触OpenClaw时,最吸引我的不是它预置的那些功能,而是它允许开发者自由扩展能力的开放架构。作为一个经常需要查询天气的开发者,我发现现有的天…...
实战解析:Element UI在Vue项目中的高效开发技巧
1. 为什么选择Element UI开发Vue项目 Element UI作为Vue生态中最受欢迎的UI组件库之一,在中后台管理系统开发中占据着不可替代的地位。我最早接触Element UI是在2018年开发一个电商后台系统时,当时对比了多个UI框架后,最终选择它的原因很简单…...
Go 并发编程的常见陷阱
Go语言凭借轻量级协程和高效的并发模型,成为高并发场景的热门选择。其简洁的并发语法背后隐藏着诸多陷阱,稍有不慎就会引发数据竞争、死锁等问题。本文将剖析三个典型并发陷阱,帮助开发者避开暗礁,写出健壮的并发程序。**共享变量…...
