tips: 相应配置记得自行修改
git clone https://gitee.com/zhengqingya/docker-compose.gitcd docker-compose/Liunx/seata/1.5.2# 修改seata配置文件`./seata-server/resources/application.yml`# 修改`docker-compose-seata.yml`相关IP配置# nacos命名空间`prod`下新建配置`seata-server.properties`# 新建数据库`seata-server`,导入sql脚本`./sql/seata-server.sql`# 运行docker-compose -f docker-compose-seata.yml -p seata up -d# 进入容器# docker exec -it seata-server sh# 查看日志docker logs -f seata-server访问seata控制台:ip地址:7091 登录账号密码默认:seata/seata
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
Liunx/seata/1.5.2/docker-compose-seata.yml
# 可参考 https://seata.io/zh-cn/docs/ops/deploy-by-docker-compose.htmlversion: '3'# 网桥 -> 方便相互通讯networks: seata: driver: bridgeservices: seata: image: registry.cn-hangzhou.aliyuncs.com/zhengqing/seata-server:1.5.2 # 原镜像`seataio/seata-server:1.5.2` container_name: seata-server # 容器名为'seata-server' restart: unless-stopped # 指定容器退出后的重启策略为始终重启,但是不考虑在Docker守护进程启动时就已经停止了的容器 volumes: # 数据卷挂载路径设置,将本机目录映射到容器目录 - "./seata-server/resources/application.yml:/seata-server/resources/application.yml" environment: # 设置环境变量,相当于docker run命令中的-e TZ: Asia/Shanghai LANG: en_US.UTF-8 # 注册到nacos上的ip。客户端将通过该ip访问seata服务。 # 注意公网ip和内网ip的差异。 SEATA_IP: www.zhengqingya.com # 指定seata服务启动端口 SEATA_PORT: 8091 ports: # 映射端口 - "7091:7091" - "8091:8091" networks: - seataLiunx/seata/1.5.2/seata-server/resources/application.yml
server: port: 7091spring: application: name: seata-serverlogging: config: classpath:logback-spring.xml file: path: ${user.home}/logs/seataconsole: user: username: seata password: seataseata: config: type: nacos nacos: server-addr: 127.0.0.1:8848 group: SEATA_GROUP namespace: prod username: nacos password: nacos data-id: seata-server.properties registry: type: nacos nacos: application: seata-server server-addr: 127.0.0.1:8848 group: SEATA_GROUP namespace: prod cluster: default username: nacos password: nacos security: secretKey: SeataSecretKey0c382ef121d778043159209298fd40bf3850a017 tokenValidityInMilliseconds: 1800000 ignore: urls: /,/**/*.css,/**/*.js,/**/*.html,/**/*.map,/**/*.svg,/**/*.png,/**/*.ico,/console-fe/public/**,/api/v1/auth/loginLiunx/seata/1.5.2/nacos-config/seata-server.properties
# 可参考 https://github.com/seata/seata/blob/develop/script/config-center/config.txt# 存储模式store.mode=dbstore.db.datasource=druidstore.db.dbType=mysql# 需要根据mysql的版本调整driverClassName# mysql8及以上版本对应的driver:com.mysql.cj.jdbc.Driver# mysql8以下版本的driver:com.mysql.jdbc.Driverstore.db.driverClassName=com.mysql.jdbc.Driver# 注意根据生产实际情况调整参数host和portstore.db.url=jdbc:mysql://www.zhengqingya.com:3306/seata-server?useUnicode=true&characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true&useSSL=false# 数据库用户名store.db.user=root# 用户名密码store.db.password=root# Transaction routing rules configuration, only for the clientservice.vgroupMapping.default_tx_group=defaultservice.vgroupMapping.my_test_tx_group=defaultservice.vgroupMapping.user-tx-group=defaultservice.vgroupMapping.order-tx-group=defaultservice.vgroupMapping.demo-tx-group=defaultservice.vgroupMapping.system-tx-group=defaulttips: 小编这里将seata单独抽离了一个公共模块,提供给业务模块使用在这里插入图片描述
最外层父pom.xml中统一管理seata版本
io.seata seata-spring-boot-starter 1.5.2 seata模块中引入
com.alibaba.cloud spring-cloud-starter-alibaba-seata io.seata seata-spring-boot-starter io.seata seata-spring-boot-starter # seata配置seata: # 是否开启seata enabled: true # Seata 应用编号,默认为 ${spring.application.name} application-id: ${spring.application.name} # Seata 事务组编号,用于 TC 集群名 tx-service-group: ${spring.application.name}-tx-group # 自动代理 enable-auto-data-source-proxy: true # 服务配置项 # service: # # 虚拟组和分组的映射 # vgroup-mapping: # test-tx-group: default # # 分组和 Seata 服务的映射 # grouplist: # default: 127.0.0.1:8091 config: type: nacos nacos: serverAddr: ${spring.cloud.nacos.config.server-addr} group: SEATA_GROUP namespace: ${spring.cloud.nacos.config.namespace} username: ${spring.cloud.nacos.config.username} password: ${spring.cloud.nacos.config.password} dataId: seata-server.properties registry: type: nacos nacos: application: seata-server server-addr: ${spring.cloud.nacos.config.server-addr} group: SEATA_GROUP namespace: ${spring.cloud.nacos.config.namespace} username: ${spring.cloud.nacos.config.username} password: ${spring.cloud.nacos.config.password}# 数据源配置见:application-db.ymlspring: datasource: dynamic: seata: true # 开启seata代理,开启后默认每个数据源都代理,如果某个不需要代理可单独关闭tips: 在要使用seata分布式事务的数据库下创建表undo_log.sql
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, PRIMARY KEY (`id`), UNIQUE KEY `ux_undo_log` (`xid`,`branch_id`)) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8;引入seata
com.zhengqing seata 在主入口中使用注解@GlobalTransactional实现分布式事务
在这里插入图片描述
https://gitee.com/zhengqingya/small-tools.git
今日分享语句: 如果你想在这个世界上获得成功,当你进入某个沙龙时,你必须让你的虚荣心向别人的虚荣心致敬。
| 留言与评论(共有 0 条评论) “” |