探究分布式事务原理1
分布式事务<谨供参考> 分布式事务顾名思义就是要在分布式系统中实现事务,它其实是由多个本地事务组合而成。 关于分布式事务目前也有许多种解决方案,常说的几种如2pc,3pc,TCC,本地消息表,消息事务,最大努力通知 关于几种方案的介绍可以看下敖丙的文章<分布式事务的六种解决方案> 无论是哪种解决方案,目的都是希望保证多个系统的事务方法统一提交,要么全成,全么全败(原子性),所以这篇文章指在建立这样的想法上,手写一个分布式事务解决方案的demo,以为之后的分布式事务框架以及知识学习做积累在开发之前需要知道一点,spring的事务管理是基于(jdbc/java.sql.xxx)进行拓展,所以我们可以从这里着手 修改获取Connection的逻辑 设计图如下 图中画了四个角色 服务调用者(server1) 服务被调用者(server2) 全局事务管理者(tx-manager) 中间协调者(global-tx)-负责和tx-manager交互的 整个调用链路如下: 123456789101....
seata的使用
初识Seata以及Seata的架构Seata是 2019 年 1 月份蚂蚁金服和阿里巴巴共同开源的分布式事务解决方案。致力于提供高性能和简单易用的分布式事务服务,为用户打造一站式的分布式解决方案。 官网地址:http://seata.io/,其中的文档、播客中提供了大量的使用说明、源码分析。 Seata事务管理中三个重要的角色 TC (Transaction Coordinator) - 事务协调者:维护全局和分支事务的状态,协调全局事务提交或回滚。 TM (Transaction Manager) - 事务管理器:定义全局事务的范围、开始全局事务、提交或回滚全局事务。 RM (Resource Manager) -...
关于分布式/集群/微服务的一个理解
关于分布式/集群/微服务的一个理解 分布式:不同的业务模块部署在不同的服务器上或者同一个业务模块分拆多个子业务,部署在不同的服务器上,解决高并发的问题 集群:同一个业务部署在多台机器上,提高系统可用性 微服务:一个大服务被拆成多个小服务,提高可拓展性以及可用性 举例 小饭店原来只有一个厨师,切菜洗菜备料炒菜全干。后来客人多了,厨房一个厨师忙不过来,又请了个厨师,两个厨师都能炒一样的菜,这两个厨师的关系是集群。 为了让厨师专心炒菜,把菜做到极致,又请了个配菜师负责切菜,备菜,备料,厨师和配菜师的关系是分布式,一个配菜师也忙不过来了,又请了个配菜师,两个配菜师关系是集群。 而微服务则是将厨房这整个部门分成: 一个专门的切菜部, 洗菜部, 备菜部, 炒菜部...,每个部如果忙不过来了,还可以继续横向扩展多个同部门
记一次生产项目的实施部署
记一次生产项目的实施部署<谨供参考> 架构图 0001机器docker安装 更新yumyum update 安装 yum-utils,它提供了 yum-config-manager,可用来管理yum源sudo yum install -y yum-utils yum添加软件源sudo yum-config-manager --add-repo https://mirrors.ustc.edu.cn/docker-ce/linux/centos/docker-ce.repo 然后刷新缓存sudo yum makecache fast 然后安装docker-cesudo yum install docker-ce 启动 dockersudo systemctl start docker 验证是否安装成功sudo docker info 开机启动sudo systemctl enable docker docker-compose安装1将docker-compose文件上传到 /usr/local/bin/ 文件夹下,修改此文件的权限,增加可执行:chmod +x...
本地事务和分布式事务
...
