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

个人网站的建设流程网站制作完成之后进入了什么阶段

个人网站的建设流程,网站制作完成之后进入了什么阶段,京东网站建设的主旨,长沙做手机网站建设目录 概述 Springcloud 整合 Seata 数据库脚本 服务依赖 Springboot 配置 代码改造 AT模式下的数据隔离 写隔离 读隔离 概述 Seata 的 AT 模式是 Seata 的默认模式#xff0c;它的原理是依赖于数据库事务#xff0c;以数据库事务保证本地事务分支特性#xff0c;结合…目录 概述 Springcloud 整合 Seata 数据库脚本 服务依赖 Springboot 配置 代码改造 AT模式下的数据隔离 写隔离 读隔离 概述 Seata 的 AT 模式是 Seata 的默认模式它的原理是依赖于数据库事务以数据库事务保证本地事务分支特性结合 Seata的 Undo 日志记录做事务补偿来实现的一种二阶段事务。总体来讲Seata 的AT模式使用起来比较简单对业务代码的侵入性比较低。 Demo 这里附上seata的学习代码demo开箱即用。包含AT/TCC/XA等模式的使用案例https://download.csdn.net/download/lmj3732018/88864802 Springcloud 整合 Seata 数据库脚本 AT 模式需要在每个本地事务分支所在的数据库中添加一个 undo_log 表用于存储本地事务分支的事务记录。 数据库脚本地址https://github.com/apache/incubator-seata/blob/v1.7.0/script/client/at/db/mysql.sql 服务依赖 Seata 的依赖版本最好参照官网推荐的版本对照否则可能出现不兼容的一些问题同时 Seata 客户端与服务端的版本也最好保持一致 POM依赖 dependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-web/artifactId /dependency!--nacos 注册中心-- dependencygroupIdcom.alibaba.cloud/groupIdartifactIdspring-cloud-starter-alibaba-nacos-discovery/artifactId /dependencydependencygroupIdorg.springframework.cloud/groupIdartifactIdspring-cloud-starter-openfeign/artifactId /dependency!-- seata-- dependencygroupIdcom.alibaba.cloud/groupIdartifactIdspring-cloud-starter-alibaba-seata/artifactId /dependency Springboot 配置 seata:application-id: ${spring.application.name}# 这个值要与服务端 service.vgroupMapping.default_tx_groupdefault 相对应服务端的值default与下面的 cluster: default 对应。tx-service-group: default_tx_groupregistry:type: nacosnacos:application: seata-serverserver-addr: 192.168.122.120:8848namespace: seata-idgroup: SEATA_GROUPusername: nacospassword: nacoscluster: defaultconfig:type: nacosnacos:server-addr: 192.168.122.120:8848namespace: seata-idgroup: SEATA_GROUPdata-id: seataServer.propertiesusername: nacospassword: nacos 代码改造 代码上的改造比较简单只需在事务发起者的接口方法上添加一个GlobalTransactional(namecreateOrder,rollbackForException.class)注解。分支事务那边则不用做任何处理 Override//TransactionalGlobalTransactional(namecreateOrder,rollbackForException.class)public Order saveOrder(OrderVo orderVo) {log.info(用户下单);log.info(当前 XID: {}, RootContext.getXID());// 保存订单Order order new Order();order.setUserId(orderVo.getUserId());order.setCommodityCode(orderVo.getCommodityCode());order.setCount(orderVo.getCount());order.setMoney(orderVo.getMoney());order.setStatus(OrderStatus.INIT.getValue());Integer saveOrderRecord orderMapper.insert(order);log.info(保存订单{}, saveOrderRecord 0 ? 成功 : 失败);//扣减库存storageFeignService.deduct(orderVo.getCommodityCode(), orderVo.getCount());if(true){throw new RuntimeException();}//扣减余额Boolean debit accountFeignService.debit(orderVo.getUserId(), orderVo.getMoney());// if(!debit){ // // 解决 feign整合sentinel降级导致Seata失效的处理 // throw new RuntimeException(账户服务异常降级了); // }//更新订单Integer updateOrderRecord orderMapper.updateOrderStatus(order.getId(),OrderStatus.SUCCESS.getValue());log.info(更新订单id:{} {}, order.getId(), updateOrderRecord 0 ? 成功 : 失败);return order;} AT模式下的数据隔离 写隔离 AT模式下通过全局锁来保证写操作的隔离性避免产生脏读。当全局事务A在操作某一条记录时会给这条记录加一个全局锁所谓的全局锁实际是指这条记录的ID当本地事务提交而全局事务没提交时。我们虽然通过直接操作数据库可以看到这条提交的数据但是当开启另一个全局事务去操作这条数据时则会先判断全局锁的存在如果存在则默认将当前事务回滚也可修改策略为不断尝试获取全局锁。 读隔离 AT模式默认情况下如果数据库的隔离级别为“读已提交”则全局事务的隔离级别为读未提交。AT模式仅仅对 带有 select  for update的语句会检查全局锁。
http://www.zqtcl.cn/news/187447/

相关文章:

  • 昆明网站开发哪家好做网站怎么做小图标
  • 泉州做外贸网站成都idc机房托管
  • 南京林业大学实验与建设网站宁波软件开发制作
  • 北京专业网站制作服务郑州有学网站制作
  • 搭建wordpress需要什么样的环境专注软件优化分享的网站
  • 网站备案后 如何建设下载免费ppt模板
  • 重慶网站建设网络服务器可提供的常见服务有什么、什么、什么和什么服务
  • 网站制作有限公司英文都不懂 学网站建设维护难吗
  • 深圳网站建设公司开发制作网站免费的网页网站
  • 开发网站公司德州做网站公司电话
  • 公司门户网站开发个人网站备案成功后怎么做
  • 远程医疗型网站开发三合一网站有必要吗
  • 什么网站是用html做的网站制作成本多少钱
  • 邢台企业网站制作建设wordpress多站点配置教程
  • 湖北省建设厅网站a群诸城网站价格
  • 江苏网站设计如何设置wordpress不自动更新
  • 已经有网站怎么做淘宝客网站建设 国外
  • 百度新闻源网站株洲在线论坛二手市场
  • 招聘做微信公众号网站维护推广网上国网的好处
  • php企业网站通讯录管理系统查找企业资料的网站
  • 专门做娱乐场所的设计网站有虚拟主机wordpress
  • 在线制作书封网站建德建设局官方网站
  • 广州建设手机网站wordpress 外部链接跳转
  • 传播公司可以做门户网站吗深圳常平网站建设制作公司
  • 最好的网站设计公司源码 php多平台网站建设
  • 下载了网站源码施工企业质量管理体系应按照我国
  • 有关网站建设国内外现状的文献英文谷歌seo
  • 珠海做网站哪间好佛山网站建设骏域
  • 免费网站建设支持ftp网络规划设计师资格证
  • 网站打开文件按钮怎么做十大网络游戏