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

dw做网站教程视频官网设计制作

dw做网站教程视频,官网设计制作,旺道网站排名优化,衡水seo营销目录 前言步骤引入相关maven依赖添加相关配置Client端配置注册中心Server端配置注册中心Seata-Server相关配置启动seata-server 使用方法Seata AT 模式整体机制 步骤初始化表结构标记注解GlobalTransactional 总结 前言 在数字化转型的浪潮下,企业业务系统的复杂度…

目录

  • 前言
  • 步骤
    • 引入相关maven依赖
    • 添加相关配置
      • Client端配置注册中心
      • Server端配置注册中心
      • Seata-Server相关配置
      • 启动seata-server
  • 使用方法
    • Seata AT 模式
      • 整体机制
    • 步骤
      • 初始化表结构
      • 标记注解@GlobalTransactional
  • 总结

前言

在数字化转型的浪潮下,企业业务系统的复杂度日益增长,微服务架构以其高度的模块化、可伸缩性和独立性,逐渐成为构建现代复杂应用的首选。然而,随着服务的拆分和细化,分布式事务问题也愈发凸显,成为制约微服务架构发展的一个重要瓶颈。
Seata(Simple Extensible Autonomous Transaction Architecture)是一个开源的分布式事务解决方案,致力于在微服务架构下提供高性能和简单易用的分布式事务服务。Seata通过全局事务ID将多个分支事务进行关联,并使用TC(Transaction Coordinator)进行全局事务的控制和协调,确保在分布式环境下的数据一致性和完整性。
将Seata集成到微服务架构中,可以带来诸多优势。首先,它解决了微服务间的数据一致性问题,保证了在分布式环境下事务的原子性、一致性、隔离性和持久性。其次,Seata提供了灵活的事务模式,支持多种事务类型,如AT模式(基于补偿的分布式事务模式)、TCC模式(基于Try-Confirm-Cancel的分布式事务模式)和Saga模式(长事务模式),可以根据不同的业务场景选择合适的模式。此外,Seata还提供了友好的集成方式,可以轻松地与主流的微服务框架和数据库进行集成,降低了开发和维护的复杂度。
然而,微服务集成Seata也面临着一些挑战。首先,需要深入理解Seata的工作原理和事务模型,以便正确地使用它来解决分布式事务问题。其次,在集成过程中可能需要对现有的业务代码进行改造和适配,以符合Seata的要求。最后,还需要对Seata的性能和稳定性进行充分的测试和验证,以确保其在实际生产环境中的可靠性。

步骤

引入相关maven依赖

<!-- Seata -->
<dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-starter-alibaba-seata</artifactId>
</dependency>

添加相关配置

Client端配置注册中心

seata:registry:type: nacosnacos:application: seata-serverserver-addr: 127.0.0.1:8848group: "DEFAULT_GROUP"namespace: "dev"username: "nacos"password: "nacos"context-path: ""tx-service-group: default_tx_groupservice:vgroup-mapping:default_tx_group: default

Server端配置注册中心

seata:config:type: nacosnacos:application: seata-serverserver-addr: 127.0.0.1:8848group: 'DEFAULT_GROUP'namespace: 'dev'username: 'nacos'password: 'nacos'

Seata-Server相关配置

#  Copyright 1999-2019 Seata.io Group.
#
#  Licensed under the Apache License, Version 2.0 (the "License");
#  you may not use this file except in compliance with the License.
#  You may obtain a copy of the License at
#
#  http://www.apache.org/licenses/LICENSE-2.0
#
#  Unless required by applicable law or agreed to in writing, software
#  distributed under the License is distributed on an "AS IS" BASIS,
#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
#  See the License for the specific language governing permissions and
#  limitations under the License.server:port: 17091spring:application:name: seata-serverlogging:config: classpath:logback-spring.xmlfile:path: ${user.home}/logs/seataextend:logstash-appender:destination: 127.0.0.1:4560kafka-appender:bootstrap-servers: 127.0.0.1:9092topic: logback_to_logstashconsole:user:username: seatapassword: seataseata:config:# support: nacos, consul, apollo, zk, etcd3type: nacosnacos:server-addr: 127.0.0.1:8848namespace: devgroup: DEFAULT_GROUPusername: nacospassword: nacoscontext-path:##if use MSE Nacos with auth, mutex with username/password attribute#access-key:#secret-key:data-id: seataServer.propertiesregistry:# support: nacos, eureka, redis, zk, consul, etcd3, sofatype: nacosnacos:application: seata-serverserver-addr: 10.0.8.10:8848group: DEFAULT_GROUPnamespace: devusername: nacospassword: nacoscluster: defaultcontext-path:##if use MSE Nacos with auth, mutex with username/password attribute#access-key:#secret-key:store:# support: file 、 db 、 redismode: file
#  server:
#    service-port: 8091 #If not configured, the default is '${server.port} + 1000'security:secretKey: SeataSecretKey0c382ef121d778043159209298fd40bf3850a017tokenValidityInMilliseconds: 1800000ignore:urls: /,/**/*.css,/**/*.js,/**/*.html,/**/*.map,/**/*.svg,/**/*.png,/**/*.ico,/console-fe/public/**,/api/v1/auth/login

启动seata-server

docker run --name seata-server-demo -p 8091:8091 -p 7091:7091 -e SEATA_IP=127.0.0.1 -e SEATA_PORT=8091 -v /opt/project/seata-demo/config/resources:/seata-server/resources -v /opt/project/seata-demo/sessionStore:/seata-server/sessionStore -d seataio/seata-server:1.6.1

启动完成后Server端的服务出现在 Nacos 控制台中的注册中心列表中
image.png

使用方法

Seata AT 模式

AT 模式是 Seata 创新的一种非侵入式的分布式事务解决方案,Seata 在内部做了对数据库操作的代理层,我们使用 Seata AT 模式时,实际上用的是 Seata 自带的数据源代理 DataSourceProxy,Seata 在这层代理中加入了很多逻辑,比如插入回滚 undo_log 日志,检查全局锁等。

整体机制

两阶段提交协议的演变:

  • 一阶段:业务数据和回滚日志记录在同一个本地事务中提交,释放本地锁和连接资源。
  • 二阶段:
    • 提交异步化,非常快速地完成。
    • 回滚通过一阶段的回滚日志进行反向补偿。

步骤

初始化表结构

create table undo_log
(branch_id     bigint       not null comment 'branch transaction id',xid           varchar(128) not null comment 'global transaction id',context       varchar(128) not null comment 'undo_log context,such as serialization',rollback_info longblob     not null comment 'rollback info',log_status    int          not null comment '0:normal status,1:defense status',log_created   datetime(6)  not null comment 'create datetime',log_modified  datetime(6)  not null comment 'modify datetime',constraint ux_undo_logunique (xid, branch_id)
)comment 'AT transaction mode undo table' row_format = DYNAMIC;create index ix_log_createdon undo_log (log_created);

标记注解@GlobalTransactional

在需要事务的接口上标记seata提供的事务注解@GlobalTransactional,这样事务就生效了。

总结

完成上述步骤我们就完成了seata的集成。


http://www.yayakq.cn/news/516869/

相关文章:

  • 网站建设栏目这一块怎么写苏州市住建局官网
  • 不利用网站怎么做调查问卷用户体验设计经典案例
  • 网站建设需求分析报告撰写wordpress前端开发
  • 天津网站建设价格做商铺的网站有那些
  • 淮安市住房和城乡建设局网站首页阿里云大使wordpress
  • 手机网站建设 苏州海尔电子商务网站建设
  • 南宁建站服务新增备案 网站名字
  • 网站做动态虚线建设银行 访问的网站出错
  • 房地产型网站建设手机网站建设平台合同
  • jsp网站开发详解网站建设的发展前景
  • 网站维护基本概念认知WordPress主题分页代码
  • 网站正在备案中模板天津建设工程信息网的信用分
  • 网页制作与网站开发wordpress 单栏 主题
  • wordpress给公司建站宜昌做网站要什么条件
  • 手机做网站的教程网站建设销售
  • 陕西陕煤建设集团有限公司网站想做无货源电商怎么入手
  • 广州网站建设规划长沙网站快速优化排名
  • 建站之星和凡科建站哪个系统好中国建设银行遵义市分行网站
  • 网站推广怎么做的wordpress图片去水印
  • seo蒙牛伊利企业网站专业性诊断新手如何给自己的网站做优化
  • 创建网站的基本流程微营销方案
  • 网站域名续费多少钱高明网站设计平台
  • 金昌北京网站建设哪些网站可以做店淘客
  • wordpress视频网站模板下载建设银行信用卡中心网站
  • seo网站结构优化网络工程和软件工程哪个好
  • 数据库跟网站安多网站制作
  • 免费网站后台模板山西有哪些做网站的公司
  • wordpress建站知乎有什么可以做翻译的网站
  • 做兼职设计去哪个网站h5制作工具免费版
  • 浙江省国有建设用地出让网站聚美优品网站建设策划书