当前位置: 首页 > news >正文

自己个人的网站怎么设计建设网站选什么地方的主机

自己个人的网站怎么设计,建设网站选什么地方的主机,上海网站关键词排名优化报价,网站建设的必要性导航一、Seata 介绍二、Seata 的工作原理2.1 三个角色2.2 工作流程三、Seata AT 工作机制3.1 一阶段3.2 二阶段四、案例演示#xff08;待补充#xff09;一、Seata 介绍 官网#xff1a;Seata 官网 Seata 是2019 年阿里巴巴中间件团队发起的开源项目#xff0c;其前身是… 导航一、Seata 介绍二、Seata 的工作原理2.1 三个角色2.2 工作流程三、Seata AT 工作机制3.1 一阶段3.2 二阶段四、案例演示待补充一、Seata 介绍 官网Seata 官网 Seata 是2019 年阿里巴巴中间件团队发起的开源项目其前身是 FescarFast EaSy Commit And Rollback。其愿景是让分布式的使用像本地事务的使用一样简单、高效并逐步解决开发者遇到的分布式事务方面的所有难题。 Seata 意为 Simple Extensible Autonomous Transaction Architecture简单可扩展自治分布式框架。 Seata 的设计目标是对业务无侵入因此从业务无侵入的 2PC 方案入手在传统 2PC 的基础上扩展把一个分布式事务理解成一个包含若干分支事务的全局事务 二、Seata 的工作原理 2.1 三个角色 1、TCTransaction Coordinator 事务协调器管理全局的分支事务状态用于全局性事务的提交和回滚。 2、TMTransaction Manager 事务管理器用于开启、提交或回滚全局事务。 3、RMResource Manager 资源管理器用于分支事务上的资源管理向 TC 注册分支事务上报分支事务的状态接收 TC 的命令来提交或回滚分支事务。 2.2 工作流程 假设上图中的三个服务根据调用关系为 A– B–C那么 Seata 的执行流程如下 1、A 服务的TM 向TC申请开启一个全局事务TC会创建一个全局事务并返回一个 唯一的 XID。 2、A 服务的 RM向 TC注册分支事务并将其纳入 XID 对应全局事务的管辖。 3、A 服务执行分支事务操作数据库。 4、A 服务开始远程调用 B 服务此时XID 会在微服务的调用链上传播。 5、B 服务的 RM 向TC 注册分支事务并将其纳入 XID 对应的全局事务的管辖。 6、B 服务执行分支事务操作数据库。 7、全局事务调用链处理完毕TM 根据有无异常向 TC 发起全局事务的提交或回滚。 8、TC 协调其管辖下的所有分支事务决定是否回滚。 Seata 实现 2PC 与传统 2PC 的区别 1、架构层次方面传统 2PC 方案的 RM 实际上是在数据库层RM 本质就是数据库通过 XA 协议实现而 Seata 的 RM 是以 jar 包的形式作为中间件层部署在应用程序这一侧的。 2、两阶段提交方面传统 2PC 无论第二阶段的决议是 commit 还是 rollback 事务性资源的锁都要保持到 Phase 2 完成才释放。而 Seata 的做法是在 Phase 1 就将本地事务提交这样就可以省去 Phase 2 持锁的时间整体提高效率。 三、Seata AT 工作机制 Seata 在 2PC 提交模型的基础上进行了演进视为 Seata AT 模式。除此之外还有 Seata TCC模式、Seata XA 模式等。 Seata AT 模式非常简单也是两阶段提交。 一阶段业务数据和回滚日志记录在同一个本地事务中提交释放本地锁和连接资源。二阶段- 异步提交快速完成- 回滚通过一阶段回滚日志进行反向补偿。 下面以一个简单示例说明整体 AT 模式的工作机制参考原文Seata AT 模式 3.1 一阶段 商品表product FieldTypeKeyidbigint(20)PRInamevarchar(100)sincevarchar(100) 业务逻辑 update product set name GTS where name TXC;1、解析SQL得到 Sql 类型update表product条件等信息。 2、查询前镜像根据解析得到的条件生成查询语句定位数据 select id, name, since from product where name TXC;idnamesince1TXC2014 3、执行业务 SQL更新这条记录的 name 为 ‘GTS’。 4、查询后镜像根据前镜像的结果通过 主键 定位数据。 select id, name, since from product where id 1;idnamesince1GTS2014 5、插入回滚日志把前后镜像数据以及业务 SQL 相关的信息组成一条回滚日志记录插入到 UNDO_LOG 表中。 {branchId: 641789253,undoItems: [{afterImage: {rows: [{fields: [{name: id,type: 4,value: 1}, {name: name,type: 12,value: GTS}, {name: since,type: 12,value: 2014}]}],tableName: product},beforeImage: {rows: [{fields: [{name: id,type: 4,value: 1}, {name: name,type: 12,value: TXC}, {name: since,type: 12,value: 2014}]}],tableName: product},sqlType: UPDATE}],xid: xid:xxx }6、提交前向 TC 注册分支申请 product 表中主键值等于 1 的记录的 全局锁 。 7、本地事务提交业务数据的更新和前面步骤中生成的 UNDO LOG 一并提交。 8、将本地事务提交的结果上报给 TC。 3.2 二阶段 回滚 1、收到 TC 的分支回滚请求开启一个本地事务执行如下操作。 2、通过 XID 和 Branch ID 查找到相应的 UNDO LOG 记录。 3、数据校验拿 UNDO LOG 中的后镜与当前数据进行比较如果有不同说明数据被当前全局事务之外的动作做了修改。这种情况需要根据配置策略来做处理详细的说明在另外的文档中介绍。 4、根据 UNDO LOG 中的前镜像和业务 SQL 的相关信息生成并执行回滚的语句 update product set name TXC where id 1;5、提交本地事务。并把本地事务的执行结果即分支事务回滚的结果上报给 TC。 提交 1、收到 TC 的分支提交请求把请求放入一个异步任务的队列中马上返回提交成功的结果给 TC。 2、异步任务阶段的分支提交请求将异步和批量地删除相应 UNDO LOG 记录。 四、案例演示待补充 演示一个电商下订单扣库存的应用案例看下 Seata 是如何使用的。
http://wiki.neutronadmin.com/news/59057/

相关文章:

  • 自己在百度上可以做网站吗东莞注册营业执照
  • 包头网站建设公司哪家好适合广告公司的名字
  • 邢台柏乡县建设局网站网站公司企业网站
  • 虚拟主机 部署网站吗wordpress win10
  • idea可以做网站吗心馨人生珠海网站建设
  • 企业网站设计要点关键词全网搜索
  • 网站建设 工作计划wordpress图片灯箱效果修改
  • 网站制作项目专门做壁纸的网站
  • 如何做企业网站推广视频网站用php做
  • 想做网站哪个公司比较好简单的网页
  • ip地址直接访问网站安平县哪个做网站的好
  • 网站seo方案案例德州 网站建设
  • flash网站方案信用网站建设工作总结
  • 广州企业网站哪家好html制作新闻信息展示页面
  • 上海域名网站个人网站可以做百度竞价
  • 大连哪家网站技术开发公司好郑州网站建设up188
  • 米拓建站官网怎么用不了淮安维度网站建设
  • 网站排名seo培训软件设计师工资一般多少
  • 电子商务毕业设计网站易尔通做网站怎么样
  • 大型做网站物流网站建设公司
  • 怎么给网站做搜索功能wordpress极简风
  • 做儿童交互网站龙岩网站建设全包
  • 十大经典口碑营销案例重庆 seo
  • 青岛移动网站建设电子商务网站建设策划书的流程
  • 青岛大型网站建设琼海网站建设公司
  • 网站开发广东wordpress 删除后台菜单
  • 服务器能放多少个网站济南网站建设工作
  • 小学文化学网站开发中企动力科技是国企吗
  • 杭州酒店网站建设方案如何在自己网站做直播
  • 做一个自己的网站网站建议怎么写