![](https://img-blog.csdnimg.cn/20201014180756913.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
分布式架构设计
扎瓦江石
扎瓦江石
展开
-
Docker 搭建redis集群
文章目录Docker 搭建redis集群Docker 搭建redis集群六个Redis实例的配置文件:redis.confport 7000cluster-enabled yescluster-config-file nodes.confcluster-node-timeout 5000appendonly yes/opt/redis /7000/redis.conf /7001/redis.conf /7002/redis.conf /7003/redis.conf原创 2021-08-04 09:00:58 · 6504 阅读 · 2 评论 -
Docker搭建redis主从+哨兵
mkdir -p /opt/redis/data6379mkdir -p /opt/redis/data6380mkdir -p /opt/redis/data6381docker run --name redis6379 --restart=always --net=host -d redis redis-server --port 6379docker run --name redis6380 --restart=always --net=host -d redis redis-server -原创 2021-08-03 16:56:39 · 5919 阅读 · 2 评论 -
分布式事务(八)Spring Cloud微服务系统基于Rocketmq可靠消息最终一致性实现分布式事务
文章目录安装搭建 Rocketmq 服务器基于 Rocketmq 可靠消息的分布式事务方案原理准备订单项目案例新建 rocketmq-dtx 工程导入订单项目,无事务版本下载项目代码解压到 rocketmq-dtx 目录导入项目order 添加事务状态表order 发送事务消息,并执行本地事务Rocketmq 中添加 Topicorder-parent 中添加 rocketmq 起步依赖order 项目中添加 rocketmq 连接信息配置:添加 `TxMapper` 访问事务状态表Json处理工具废弃 `原创 2020-08-12 00:44:04 · 9183 阅读 · 1 评论 -
分布式事务(七)Seata TCC模式-Spring Cloud微服务添加 TCC 分布式事务
文章目录准备订单项目案例新建 seata-tcc 工程导入订单项目,无事务版本下载项目代码解压到 seata-tcc 目录导入项目order启动全局事务,添加“保存订单”分支事务order-parent 添加 seata 依赖配置application.ymlregistry.conf 和 file.confOrderMapper 添加更新订单状态、删除订单Seata 实现订单的 TCC 操作方法在业务代码中调用 Try 阶段方法启动 order 进行测试storage添加“减少库存”分支事务配置Stora原创 2020-08-05 00:01:12 · 10442 阅读 · 3 评论 -
分布式事务(六)Seata TCC模式-TCC模式介绍
文章目录TCC 基本原理第一阶段 Try第二阶段 Confirm第二阶段 Cancel多个事务并发的情况Seata TCC事务模式项目源码: https://gitee.com/benwang6/seata-samplesTCC 基本原理TCC 与 Seata AT 事务一样都是两阶段事务,它与 AT 事务的主要区别为:TCC 对业务代码侵入严重每个阶段的数据操作都要自己进行编码来实现,事务框架无法自动处理。TCC 效率更高不必对数据加全局锁,允许多个事务同时操作数据。第一阶原创 2020-07-30 22:31:52 · 8226 阅读 · 1 评论 -
分布式事务(五)Seata AT模式-Spring Cloud微服务添加 AT 分布式事务
文章目录Seata Server - TC全局事务协调器Seata Server 配置registry.conffile.conf启动参数设置启动 Seata Serverorder订单服务添加 Seata AT 事务storage库存服务添加 Seata AT 事务account账户服务添加 Seata AT 事务Seata Server - TC全局事务协调器在《分布式事务(三)Seata分布式事务框架-AT模式介绍》 中介绍了 Seata AT 事务原理,介绍了 AT 事务的三个角色:TC(事务原创 2020-07-30 15:32:34 · 10563 阅读 · 1 评论 -
分布式事务(四)Seata AT模式-Spring Cloud微服务案例
文章目录订单业务案例创建 Empty Project:seata-at数据库初始化工具新建Module:db-initapplication.yml 配置添加 sql 脚本文件主程序中添加代码,执行sql脚本xxxxxxeureka注册中心父项目account账户项目storage库存项目order订单项目全局唯一id发号器order订单添加Feign,调用库存和账户服务订单业务案例创建 Empty Project:seata-at先新建文件夹 seata-samples,后面测试的 Seata原创 2020-07-27 19:42:48 · 16272 阅读 · 1 评论 -
分布式事务(三)Seata分布式事务框架-AT模式介绍
文章目录Seata介绍Seata AT事务方案业务场景Seata AT基本原理第一阶段:执行各分支事务第二阶段:控制全局事务最终提交第二阶段:控制全局事务最终回滚Seata AT具体工作机制第一阶段:执行分支事务第二阶段:控制全局事务最终回滚第二阶段:控制全局事务最终提交Seata介绍Seata 是一款开源的分布式事务解决方案,致力于提供高性能和简单易用的分布式事务服务。Seata 将为用户提供了 AT、TCC、SAGA 和 XA 事务模式,为用户打造一站式的分布式解决方案。2019 年 1 月,阿原创 2020-07-26 16:32:45 · 12453 阅读 · 10 评论 -
分布式事务(二)分布式事务方案
分布式事务(二)强一致性事务原创 2020-07-25 18:17:16 · 7620 阅读 · 15 评论 -
分布式事务(一)Mysql本地事务和事务隔离级别
文章目录数据库事务Mysql 事务操作开始事务提交事务回滚事务事务特性 ACID数据库并发访问冲突问题Mysql事务隔离级别数据库事务数据库事务由一组sql语句组成。所有sql语句执行成功则事务整体成功;任一条sql语句失败则事务整体失败,数据恢复到事务之前的状态。下面以转账为例进一步说明。A 账户向 B 账户转账,需要更新两个账户的记录:- A 账户减金额update user set money=money-100 where id='A'- B 账户加金额update user原创 2020-07-18 15:57:24 · 9759 阅读 · 2 评论