三十五、Seata的基本架构、部署TC服务、微服务集成Seata

目录

一、基本架构

1、Seata事务中的三个重要角色

2、四种不同的分布式事务解决方案:

二、TC的部署

三、微服务集成Seata

1、引入Seata相关依赖

2、配置yml文件

3、启动服务


一、基本架构

  • Seata2019 1 月份蚂蚁金服和阿里巴巴共同开源的分布式事务解决方案。
  • 致力于提供高性能和简单易用的分布式事务服务,为用户打造一站式的分布式解决方案。

官网地址:Seata | Seata,其中的文档、播客中提供了大量的使用说明、源码分析。

1、Seata事务中的三个重要角色

(1)TC (Transaction Coordinator) - 事务协调者

维护全局和分支事务的状态,协调全局事务提交或回滚。

(2)TM (Transaction Manager) - 事务管理器

定义全局事务的范围、开始全局事务、提交或回滚全局事务。

(3)RM (Resource Manager) - 资源管理器

管理分支事务处理的资源,与TC交谈以注册分支事务和报告分支事务的状态,并驱动分支事务提交或回滚。

2、四种不同的分布式事务解决方案:

  • XA模式:强一致性分阶段事务模式,牺牲了一定的可用性,无业务侵入
  • TCC模式:最终一致的分阶段事务模式,有业务侵入
  • AT模式:最终一致的分阶段事务模式,无业务侵入,也是Seata的默认模式
  • SAGA模式:长事务模式,有业务侵入

二、TC的部署

三、微服务集成Seata

1、引入Seata相关依赖

<!--        seata依赖--><dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-starter-alibaba-seata</artifactId><exclusions><exclusion><groupId>io.seata</groupId><artifactId>seata-spring-boot-starter</artifactId></exclusion></exclusions></dependency><dependency><groupId>io.seata</groupId><artifactId>seata-spring-boot-starter</artifactId></dependency>

2、配置yml文件

seata:registry:type: nacosnacos:server-prot: 127.0.0.1:8848namespace: ""group: SEATA_GROUPapplication: seata-tc-serverusername: nacospassword: nacostx-service-group: seata-demoservice:vgroup-mapping:seata-demo: default

3、启动服务

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/195634.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

STM32-OLED显示屏

*本文采用的OLED显示屏为4针脚IIC显示屏&#xff0c;4针脚分别为GND&#xff0c;VCC&#xff0c;SCL&#xff0c;SDA OLED.C #include "stm32f10x.h" #include "OLED_Font.h"/*引脚配置*/ #define OLED_W_SCL(x) GPIO_WriteBit(GPIOB, GPIO_Pin_8, (BitAc…

力扣7.整数反转

题目描述 代码 自己写的像屎山&#xff0c;虽然能通过&#xff0c;但多了很多不必要的代码。 class Solution {public int reverse(int x) {int count 0;int res 0;//用temp2记录x的正负int temp2 x;if(x < 0){x -x;}int temp x;while(temp ! 0){temp temp / 10;cou…

03 数仓平台 Kafka

kafka概述 定义 Kafka 是一个开源的分布式事件流平台&#xff08;Event Streaming Plantform&#xff09;&#xff0c;主要用于大数据实时领域。本质上是一个分布式的基于发布/订阅模式的消息队列&#xff08;Message Queue&#xff09;。 消息队列 在大数据场景中主要采用…

Kubernetes学习笔记-Part.02 Docker版本

目录 Part.01 Kubernets与docker Part.02 Docker版本 Part.03 Kubernetes原理 Part.04 资源规划 Part.05 基础环境准备 Part.06 Docker安装 Part.07 Harbor搭建 Part.08 K8s环境安装 Part.09 K8s集群构建 Part.10 容器回退 第二章 Docker版本 老旧版本&#xff1a;docker/doc…

无人机管控平台:打破通信限制 助力灾害救援

中国地域广阔&#xff0c;自然灾害频发&#xff0c;时常对通信基础设施造成破坏&#xff0c;传统无人机在紧急救援中受限。为有效解决这一问题&#xff0c;新一代无人机技术与应急通信系统融合形成无人机管控平台&#xff0c;不仅提供了高效的空中监测技术&#xff0c;还配备先…

制作一个RISC-V的操作系统三-编译与链接

文章目录 GCCGCC简介GCC的命令格式gcc -Egcc -cgcc -Sgcc -ggcc -vGCC的主要执行步骤GCC涉及的文件类型针对多个源文件的处理 ELFELF介绍ELF文件格式ELF文件处理相关工具&#xff1a;Binutils&#xff08;binary utility&#xff09;readlelf -hreadelf -S或readelf -SW&#x…

11月推荐阅读的12篇大语言模型相关论文

现在已经是12月了&#xff0c;距离2024年只有一个月了&#xff0c;本文总结了11月的一些比较不错的大语言模型相关论文 System 2 Attention (is something you might need too). https://arxiv.org/abs/2311.11829 一种称为S2A的新注意力方法被开发出来&#xff0c;解决llm…

c语言编程题经典100例——(66~70例)

1,写一个函数&#xff0c;判断一个字符串是否是回文字符串。 下面给出一个用于判断一个字符串是否是回文字符串的demo 函数 #include <stdio.h> #include <string.h> int isPalindrome(char str[]) { int len strlen(str); for (int i 0; i < len / 2;…

【C语言】字符串函数strlen #strcpy #strcmp #strcat #strstr及其模拟实现

在C语言中&#xff0c;有一种特殊的数据类型&#xff0c;即字符串类型。C 并没有专门定义一个字符串类型&#xff0c;这对我们使用字符串造成了一定的麻烦。但是&#xff0c;C标准库<string.h> 中定义了各种字符串函数&#xff0c;这对于我们来说是一件值得庆幸的事情。…

PCL 空间直角坐标系与极坐标系的相互转换(C++详细过程版)

目录 一、算法原理1、空间坐标系转极坐标系2、极坐标系转空间坐标系二、代码实现三、结果展示1、空间坐标系转极坐标系2、极坐标系转空间坐标系本文由CSDN点云侠原创,原文链接。爬虫网站自重。如果你不是在点云侠的博客中看到该文章,那么此处便是不

国内的几款强大的AI智能—AI语言模型

R5Ai智能助手是一款由百度研发的文心一言&#xff0c;它支持gpt4 / gpt-3.5 / claude&#xff0c;也支持AI绘画&#xff0c;每天提供十次免费使用机会&#xff0c;无需魔法。该智能助手具有以下优点&#xff1a;会画画&#xff0c;没有使用次数限制&#xff0c;可以在界面上找到…

动能芯片 | SI3262—高度集成的低功耗SOC芯片 刷卡触摸一体

Si3262是一款高度集成的低功耗SOC芯片&#xff0c;其集成了基于RISC-V核的低功耗MCU和工作在13.56MHz的非接触式读写器模块。 MCU模块具有低功耗、Low Pin Count、宽电压工作范围&#xff0c;集成了13/14/15/16位精度的ADC、LVD、UART、SPI、I2C、TIMER、WUP、IWDG、RTC、TSC等…

JS this指向详解

前述 在了解js中this指向之前先简单的阐述一下脚本执行过程和执行上下文的概念 js脚本执行过程 当js引擎执行脚本代码之前会先进行一个预编译阶段&#xff0c;然后创建全局执行上下文入栈&#xff08;上下文调用栈&#xff09;&#xff0c;然后执行全局代码&#xff0c;执行…

uni-app 微信小程序之自定义navigationBar顶部导航栏

文章目录 1. 实现效果2. App.vue3. pages.json 配置自定义4. 顶部导航栏 使用 微信小程序自定义 navigationBar 顶部导航栏&#xff0c;兼容适配所有机型 1. 实现效果 2. App.vue 在App.vue 中&#xff0c;设置获取的 StatusBar&#xff0c;CustomBar 高度&#xff08;实现适配…

苍穹外卖--营业额统计

营业额统计是基于折现图来展现&#xff0c;并且按照天来展示的。实际上&#xff0c;就是某一个时间范围之内的每一天的营业额。同时&#xff0c;不管光标放在哪个点上&#xff0c;那么它就会把具体的数值展示出来。并且还需要注意日期并不是固定写死的&#xff0c;是由上边时间…

redis的缓存击穿,缓存穿透,缓存雪崩

Redis是一个开源的、内存中的数据结构存储系统&#xff0c;它可以用作数据库、缓存和消息代理。Redis支持多种数据结构&#xff0c;如字符串、哈希表、列表、集合和有序集合。此外&#xff0c;Redis还支持各种操作&#xff0c;如读取和写入数据、删除和更新数据等。 Redis的特点…

【Openstack Train】十五、glance命令合集

本文介绍了glance组件的常用命令。关于openstack的安装&#xff0c;可以参考以下内容&#xff1a; 【Openstack Train安装】一、虚拟机创建 【Openstack Train安装】二、NTP安装 【Openstack Train安装】三、openstack安装 【Openstack Train安装】四、MariaDB/RabbitMQ 安…

RPC 集群,gRPC 广播和组播

一、集群抽象&#xff1a;cluster 它是指我们在调用远程的时候&#xff0c;尝试解决&#xff1a; 1、failover:即引入重试功能&#xff0c;但是重试的时候会换一个新节点 2、failfast: 立刻失败&#xff0c;不需要重试 3、广播&#xff1a;将请求发送到所有的节点上 4、组…

一文搞懂系列——动态库的加载方式及应用场景

引文 我们在工作中经常会遇到动态库链接的问题&#xff0c;因为正常的方式并不能满足我们的场景。常见的问题可以总结如下&#xff1a; 系统路径默认路径、usr/lib、/lib 目录&#xff0c;不会集成第三方动态库。 同名动态库可能在多个路径中存在。 针对不同的场景&#xff0…

探索元宇宙链游戏:一场数字世界的奇妙融合

随着互联网的飞速发展&#xff0c;以及人们不断对互动娱乐体验的要求提高&#xff0c;元宇宙渐渐成为人们追求的目标。 而区块链技术的出现给元宇宙链游开发带来了新的机遇和挑战。 一、元宇宙链游定义 元宇宙链游全称为基于区块链技术的元宇宙游戏&#xff0c;是一种新型的网…