微服务之分布式事务服务端搭建(seata 1.0以下版本)

简介: 微服务之分布式事务服务端搭建(seata 1.0以下版本)

今天同事咨询我什么事分布式事务?怎么用分布式事务?有没有什么好的中间件来解决分布式事务?
所谓分布式事务,事务的参与者、支持事务的服务器、资源服务器以及事务管理器分别位于不同的分布式系统的不同节点之上。
这就是问题所在不同的服务之间怎么去控制事务呢?今天我们所要了解的seata便能很好的解决这一难题!接下来我们进入今天的学习干活。

1、下载地址:seata.io/zh-cn/blog/…

(我这里选择的是1.0以下版本。0.9.0版本的,1.0以上的配置和这里不一样。后面会发文章单独讲解1.0以上版本的配置)

2、下载后在E:\tools\seata\seata-server-0.9.0\conf

文件内备份file.conf及registry.conf两个文件,以防改错文件,用以快速恢复。这里主要修改file.conf文件中的事务组名称、事务日志存储模式为db、数据库链接信息这三个
image.png
image.png
image.png

3、创建seata库,然后在目录中将建表文件执行(E:\tools\seata\seata-server-0.9.0\conf\db_store.sql)

表global_table,将表中transaction_service_group字段原有32的长度更改作为256长度
这样可避免一下字段长度超长问题

4、修改registry.conf文件,调整注册中心为nacos,指向我们的nacos注册中心

image.png

5、启动nacos(这个必须先与seata-server先启动,不然找不到可用服务)

6、启动seata-server服务,查看nacos控制台出现如下图所示,则说明seata-server启动成功

命令:./seata-server.sh -h ip地址 -p 8091 &
image.png

7、在各自业务库中新建日志回滚表(E:\tools\seata\seata-server-0.9.0\conf\db_undo_log.sql)

如果没有此文件,可按下方sql创建
drop table undo_log; CREATE TABLE undo_log( idbigint(20) NOT NULL AUTO_INCREMENT, branch_idbigint(20) NOT NULL, xidvarchar(100) NOT NULL, contextvarchar(128) NOT NULL, rollback_infolongblob NOT NULL, log_statusint(11) NOT NULL, log_createddatetime NOT NULL, log_modifieddatetime 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;
服务端的搭建到此就完成了,记下来我们会更新业务端代码!

目录
相关文章
|
10天前
|
安全 应用服务中间件 API
微服务分布式系统架构之zookeeper与dubbo-2
微服务分布式系统架构之zookeeper与dubbo-2
|
10天前
|
负载均衡 Java 应用服务中间件
微服务分布式系统架构之zookeeper与dubbor-1
微服务分布式系统架构之zookeeper与dubbor-1
|
2月前
|
存储 缓存 监控
分布式链路监控系统问题之kywalking在后期维护过程中可能会遇到中间件版本升级的问题如何解决
分布式链路监控系统问题之kywalking在后期维护过程中可能会遇到中间件版本升级的问题如何解决
|
2月前
|
存储 消息中间件 Apache
比较微服务中的分布式事务模式
比较微服务中的分布式事务模式
53 2
|
22天前
|
SQL NoSQL 数据库
SpringCloud基础6——分布式事务,Seata
分布式事务、ACID原则、CAP定理、Seata、Seata的四种分布式方案:XA、AT、TCC、SAGA模式
SpringCloud基础6——分布式事务,Seata
|
2月前
|
监控 Go API
带你十天轻松搞定 Go 微服务之大结局(分布式事务)
带你十天轻松搞定 Go 微服务之大结局(分布式事务)
|
2月前
|
监控 Java 开发者
随着软件开发的发展,传统单体应用已难以适应现代业务需求,微服务架构因此兴起,成为构建可伸缩、分布式系统的主流
随着软件开发的发展,传统单体应用已难以适应现代业务需求,微服务架构因此兴起,成为构建可伸缩、分布式系统的主流。本文探讨Java微服务架构的设计原则与实践。核心思想是将应用拆分为独立服务单元,增强模块化与扩展性。Java开发者可利用Spring Boot等框架简化开发流程。设计时需遵循单一职责、自治性和面向接口编程的原则。以电商系统为例,将订单处理、商品管理和用户认证等拆分为独立服务,提高可维护性和容错能力。还需考虑服务间通信、数据一致性及监控等高级话题。掌握这些原则和工具,开发者能构建高效、可维护的微服务应用,更好地应对未来挑战。
68 1
|
2月前
|
Cloud Native 云计算 微服务
云原生时代:企业分布式应用架构的惊人蜕变,从SOA到微服务的大逃亡!
【8月更文挑战第8天】在云计算与容器技术推动下,企业分布式应用架构正经历从SOA到微服务再到云原生的深刻变革。SOA强调服务重用与组合,通过标准化接口实现服务解耦;微服务以细粒度划分服务,增强系统灵活性;云原生架构借助容器化与自动化技术简化部署与管理。每一步演进都为企业带来新的技术挑战与机遇。
88 6
|
2月前
|
关系型数据库 MySQL 数据库
SpringCloud2023中使用Seata解决分布式事务
对于分布式系统而言,需要保证分布式系统中的数据一致性,保证数据在子系统中始终保持一致,避免业务出现问题。分布式系统中对数据的操作要么一起成功,要么一起失败,必须是一个整体性的事务。Seata简化了这个使用过程。
55 2
|
2月前
|
Java 数据库连接 微服务
揭秘微服务架构下的数据魔方:Hibernate如何玩转分布式持久化,实现秒级响应的秘密武器?
【8月更文挑战第31天】微服务架构通过将系统拆分成独立服务,提升了可维护性和扩展性,但也带来了数据一致性和事务管理等挑战。Hibernate 作为强大的 ORM 工具,在微服务中发挥关键作用,通过二级缓存和分布式事务支持,简化了对象关系映射,并提供了有效的持久化策略。其二级缓存机制减少数据库访问,提升性能;支持 JTA 保证跨服务事务一致性;乐观锁机制解决并发数据冲突。合理配置 Hibernate 可助力构建高效稳定的分布式系统。
48 0
下一篇
无影云桌面