搭建分布式事务组件 seata 的Server 端和Client 端详解(小白都能看懂)
一,server 端的存储模式为:
Server 端 存 储 模 式 (store-mode) 支 持 三 种 :
file: ( 默 认 ) 单 机 模 式 , 全 局 事 务 会 话 信 息 内 存 中 读 写 并 持 久 化 本 地 文 件 root.data , 性 能 较 高 ( 默 认 )。
db: 高 可 用 模 式 , 全 局 事 务 会 话 信 息 通 过 d b 共 享 , 相 应 性 能 差 些。
redis: Seata-server 1 3 及 以 上 版 本 支 持 , 性 能 较 高 , 存 在 事 务 信 息 丢 失 风 险 , 请 提 前 配 置 适 合 当 前 场 景 的 red is 持 久 化 配 置。
资 源 目 录 : https://github.com/seata/seata/tree/l . 3.0/scri Qt
· client
存 放 client 端 sq | 脚 本 , 参 数 配 置
· config-center
各 个 配 置 中 心 参 数 导 入 脚 本 , config.txt( 包 aserver和Client , 原 名 nacos-config.txt ) 为 通 用 参 数 文 件
server
server 端 数 据 库 脚 本 及 各 个 容 器 配 置。
注:如果对seata 不了解可以参考文章:Spring Cloud Alibaba分布式事务组件 seata 详解(小白都能看懂) - 古渡蓝按 - 博客园 (cnblogs.com)
二,修改存储模式
我们使用DB模式。
修改配置文件:file.conf (路径:seata/conf/file.conf)
1,修改默认配置:

2,配置DB信息

3,创建数据库

4,新建表结构,运行第三步里面SQL文件

5,配置nacos 注册中心
为什么? 因为微服务或者客户端要和事务协调者进行通信,我们得注册到注册中心,不然无法进行通信。
6,修改配置中心的文件 registry.conf (路径:seata/conf/registry.conf)


7,可以配置负载均衡的策略(也可以不用)

8,为什么要用配置中心?对各个seata的配置进行一个统一保存。
修改配置中心:registry.conf (路径:Seata/conf/registry.conf) 注:行号,这个是第7行,config里面进行修改。

如果使用的是 file 模式的话,它存储的就是在config.txt 里面。

9,修改config.txt,里面还有个默认的是file 改成 DB。这些配置最后都会注册成 data ID。

10,读取配置文件

如果要在远端(linux服务器),我们可以使用命令。
Shell
sh ${SEATAPATH}/script/config-center/nacos/nacos-config.sh -h localhost -p 8848 -g SEATA_GROUP -T XXXX(这里自己配置)

注册成功:它会把每一个的配置都注册成一个 data ID。

11,启动 Seata Server

12,搭建client 端
1.在项目中导入依赖:

2,对各个微服务对应的数据库添加undo_log 表(记录数据的操作)

3,如果进行了分组,就在nacos.seata 配置分组信息

4,告诉客户端的注册信息

5,编写配置中心

6,使用分布式注解: @GlobalTransactional
到这里就可以使用分布式组件 Seata 了。
编写不易:点个关注,或者打赏一下吧!!!
搭建分布式事务组件 seata 的Server 端和Client 端详解(小白都能看懂)的更多相关文章
- Spring Cloud Alibaba分布式事务组件 seata 详解(小白都能看懂)
一,什么是事务(本地事务)? 指作为单个逻辑工作单元执行的一系列操作,要么完全地执行,要么完全地不执行. 简单的说,事务就是并发控制的单位,是用户定义的一个操作序列. 而一个逻辑工作单元要成 ...
- Spring Cloud Alibaba | 微服务分布式事务之Seata
Spring Cloud Alibaba | 微服务分布式事务之Seata 本篇实战所使用Spring有关版本: SpringBoot:2.1.7.RELEASE Spring Cloud:Green ...
- 分布式事务框架-seata初识
一.事务与分布式事务 事务,在数据库中指的是操作数据库的最小单位,往大了看,事务是应用程序中一系列严密的操作,所有操作必须成功完成,否则在每个操作中所作的所有更改都会被撤消. 那为什么会有分布式事务呢 ...
- 分布式事务框架 Seata 入门案例
1. Seata Server 部署 Seata分TC.TM和RM三个角色,TC(Server端)为单独服务端部署,TM和RM(Client端)由业务系统集成. 首先,下载最新的安装包 也可以下载源 ...
- 在socket的server端处理client端发来的数据
一.楔子 最近做了一个需求遇到一个坑,归结成一个小问题,其实就是在socket的server端处理client端发来的数据的问题,现将这个问题总结一下,本文将数据在server端以字典的形式存储. 另 ...
- 用同一台PC的两个网口实现Iperf的server端和client端
用同一台PC的两个网口实现Iperf的server端和client端 2015年10月20日 20:35:11 阅读数:2943 有时候需要发包,仅仅需要一定速率的流量,并不需要关心收到报文的大小,一 ...
- 【翻译自mos文章】在RHEL7/OL7上安装Oracle 12.1.0.2的server端或者client时,报须要"compat-libstdc++"包
在RHEL7/OL7上安装Oracle 12.1.0.2的server端或者client时,报须要"compat-libstdc++"包 来源于: Installation of ...
- 开源分布式事务中间件Seata使用指南
介绍 Seata 是阿里巴巴开源的分布式事务中间件,一种分布式事务解决方案,具有高性能和易于使用的微服务架构. 初衷 对业务无侵入:即减少技术架构上的微服务化所带来的分布式事务问题对业务的侵入 高性能 ...
- SpringCloudAlibaba分布式事务解决方案Seata实战与源码分析-中
事务模式 概述 在当前的技术发展阶段,不存一个分布式事务处理机制可以完美满足所有场景的需求.一致性.可靠性.易用性.性能等诸多方面的系统设计约束,需要用不同的事务处理机制去满足. 目前使用的流行度情况 ...
随机推荐
- Solution -「ZJOI 2013」「洛谷 P3337」防守战线
\(\mathcal{Description}\) Link. 有 \(n\) 个位置,从左至右编号 \(1\sim n\).在第 \(i\) 个位置放一座塔的代价为 \(c_i\),一个位置 ...
- Azure AD(六)添加自定义域名
一,引言 每当我们在 Azure Portal 上创建新的租户时,都会在设置租户的 "初始域名" 后加上 ".onmicrosoft.com",默认情况下 &q ...
- 三、Mybatis多表关联查询应用
一对一查询 实现语句:select * from neworder o, user u where o.uid = u.id 实体Order: 接口: 配置: 测试: 一对多查询 实现语句:selec ...
- Spring高级特性之四:FactoryBean和BeanFactory
FactoryBean和BeanFactory两只是两个单词顺序不同但是内容大不相同.落脚点在后面一个单词,前面一个单词是其功能描述:FactoryBean--工厂bean,一个建工厂的bean?Be ...
- 轻量级DI框架Guice使用详解
背景 在日常写一些小工具或者小项目的时候,有依赖管理和依赖注入的需求,但是Spring(Boot)体系作为DI框架过于重量级,于是需要调研一款微型的DI框架.Guice是Google出品的一款轻量级的 ...
- java-poi 批量导入excel数据
1,首先,前端发送MultipartFile类型文件,后端接收 2,分别创建多个ImportParams对象(easypoi),对应工作蒲 注意:pom中 要有相对应的配置 <!-- easyp ...
- 一个命令让redis服务端所有信息无所遁形~(收藏吃灰系列)
1.info命令作用 在redis客户端执行INFO 命令以便于计算机解析和人工阅读的简单格式返回有关redis服务端的所有信息和统计数据. 可选参数可用于选择特定的信息部分: Server 服务器基 ...
- 中国著名hacker---陈三堰
在学习<网络攻防>这门课程中,我了解到了黑客之间的斗智斗勇,同样也对中国本土黑客产生了兴趣,之后,我将用一段时间扒一扒这其中比较有分量的传奇人物--陈三堰. 真名:陈三堰 网名:陈三少 所 ...
- MySQL常用查询命令(连接查询&子查询)
多张表联合起来查询即为连接查询,可分为: 内连接:等值连接.非等值连接.自连接 外连接:右外连接.左外连接 也就是先把多张表通过某种指定条件用join...on...语法连接起来,然后再进行where ...
- Java常用--反射
反射的意义 你可能说,平时都是业务的增删查改基本用不到反射.但是如果你学会用反射了,可以减少重复代码,非常的好用. 反射是Java语言的一大特性,允许动态的修改程序行为. 代码说反射 1.反射的三个入 ...