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

口碑最好的装饰公司江苏seo

口碑最好的装饰公司,江苏seo,南京网页空间,天象集团ui培训正文 1、解决的应用场景是分布式事务,每个服务有独立的数据库。 2、例如:A服务的数据库是A1,B服务的数据库是B2,A服务通过feign接口调用B服务,B涉及提交数据到B2,业务是在B提交数据之后,在A服…

正文

1、解决的应用场景是分布式事务,每个服务有独立的数据库。
在这里插入图片描述

2、例如:A服务的数据库是A1,B服务的数据库是B2,A服务通过feign接口调用B服务,B涉及提交数据到B2,业务是在B提交数据之后,在A服务内报错。

所以,希望B能回滚事务。这就是跨库的数据回滚

下载

seata下载地址

seata的配置

1、创建一个数据库,把seata的表生成出来

在这里插入图片描述
在这里插入图片描述

2、修改seata配置文件

注意有其他的需求可以参考example文件,我这里直接展示本地修改后的

#  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: 7091spring:application:name: seata-serverlogging:config: classpath:logback-spring.xmlfile:path: ${user.home}/logs/seata#extend:#logstash-appender:# destination: 127.0.0.1:4560#kafka-appender:# bootstrap-servers: 127.0.0.1:9092#  topic: logback_to_logstashconsole:user:username: seatapassword: seata
seata:#data-source-proxy-mode: XA#tx-service-group: default#service:#vgroup-mapping: # 事务组与cluster的映射关系#  default_tx_group: DEFAULT#grouplist:#  DEFAULT: 127.0.0.1:8091config:# support: nacos, consul, apollo, zk, etcd3type: nacosnacos:application: seata-serverserver-addr: 127.0.0.1:8848group : "WEIMEIZI_GROUP"namespace: username: "nacos"password: "nacos"#data-id: seataServer.propertiesregistry:# support: nacos, eureka, redis, zk, consul, etcd3, sofatype: nacosnacos:application: seata-serverserver-addr: 127.0.0.1:8848group: "WEIMEIZI_GROUP"namespace:cluster: defaultusername: "nacos"password: "nacos"store:# support: file 、 db 、 redismode: db# 数据源驱动类名称db:datasource: druiddb-type: mysqldriver-class-name: com.mysql.jdbc.Driverurl: jdbc:mysql://127.0.0.1:3306/seata?rewriteBatchedStatements=trueuser: rootpassword: rootmin-conn: 10max-conn: 100global-table: global_tablebranch-table: branch_tablelock-table: lock_tabledistributed-lock-table: distributed_lockquery-limit: 1000max-wait: 5000
#  server:
#    service-port: 8091 #If not configured, the default is '${server.port} + 1000'security:secretKey: SeataSecretKey0c382ef121d778043159209298fd40bf3850a017tokenValidityInMilliseconds: 1800000ignore:urls: /,/**/*.css,/**/*.js,/**/*.html,/**/*.map,/**/*.svg,/**/*.png,/**/*.jpeg,/**/*.ico,/api/v1/auth/login

3、修改nacos配置文件

新增:

seata:data-source-proxy-mode: XAtx-service-group: defaultservice.vgroupMapping.default: defaultservice.default.grouplist: 127.0.0.1:8091

注意如果你用的是其他版本的seata,可能service.vgroupMapping.default和 service.default.grouplist在其他版本命名不一样,报错就修改

4、涉及到分布式事务的数据库都要创建undo_log

这张表在seata官方包里是没有的,如果不创建,代码会报错,找不到表

SET NAMES utf8mb4;
SET FOREIGN_KEY_CHECKS = 0;-- ----------------------------
-- Table structure for undo_log
-- ----------------------------
DROP TABLE IF EXISTS `undo_log`;
CREATE TABLE `undo_log`  (`branch_id` bigint(20) NOT NULL COMMENT '分支事务ID',`xid` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '全局事务ID',`context` varchar(128) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '上下文',`rollback_info` longblob NOT NULL COMMENT '回滚信息',`log_status` int(11) NOT NULL COMMENT '状态,0正常,1全局已完成',`log_created` datetime(6) NOT NULL COMMENT '创建时间',`log_modified` datetime(6) NOT NULL COMMENT '修改时间',UNIQUE INDEX `ux_undo_log`(`xid`, `branch_id`) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = 'AT transaction mode undo table' ROW_FORMAT = Compact;SET FOREIGN_KEY_CHECKS = 1;

服务注册

满足1、2、3步后,启动
在这里插入图片描述
就会发现nacos注册上了seata
在这里插入图片描述

项目的代码

主要是两个注解:
@EnableAutoDataSourceProxy
@GlobalTransactional(rollbackFor = Exception.class)

A服务的方法:
在这里插入图片描述
B服务的方法:
在这里插入图片描述
B服务的方法正常执行并提交数据到B库,但是A服务报错了,所以B服务得回滚数据

A、B的Application都要加上@EnableAutoDataSourceProxy
在这里插入图片描述

注意:引入的pom文件:
两个服务的pom都要引入seata,注意:有个包叫做seata-all,这个包不要一起引入进去,否则会报:数据源错误

<!-- Seata--><dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-starter-alibaba-seata</artifactId><version>2.0.4</version></dependency><dependency><groupId>io.seata</groupId><artifactId>seata-spring-boot-starter</artifactId><version>1.7.0</version></dependency>

结语

事务回滚成功是根据XID,以下是成功回滚的截图

A服务的控制台输出:
在这里插入图片描述

B服务的控制台输出:
在这里插入图片描述

备注

如果因为nacos的配置文件过大,导致netty报错,那么,就修改netty的内存,文件是application.yml

#服务器端口
server:port: 8200netty:max-chunk-size: 1545270062max-initial-line-length: 1545270062h2c-max-content-length: 1545270062

文章转载自:
http://wanjiateetotal.rkLs.cn
http://wanjiapapilledema.rkLs.cn
http://wanjiaruthlessness.rkLs.cn
http://wanjiatheirselves.rkLs.cn
http://wanjiateaser.rkLs.cn
http://wanjiaaib.rkLs.cn
http://wanjiaadvices.rkLs.cn
http://wanjiadebar.rkLs.cn
http://wanjiaandean.rkLs.cn
http://wanjiasplenial.rkLs.cn
http://wanjiadysbasia.rkLs.cn
http://wanjiachloramphenicol.rkLs.cn
http://wanjiahayti.rkLs.cn
http://wanjiaackey.rkLs.cn
http://wanjiapowerpc.rkLs.cn
http://wanjiasemibull.rkLs.cn
http://wanjiafacilely.rkLs.cn
http://wanjiamuggins.rkLs.cn
http://wanjiacontinuity.rkLs.cn
http://wanjiajube.rkLs.cn
http://wanjiarepercussive.rkLs.cn
http://wanjiablanket.rkLs.cn
http://wanjiafasciate.rkLs.cn
http://wanjiawhine.rkLs.cn
http://wanjiaincivilization.rkLs.cn
http://wanjiachapote.rkLs.cn
http://wanjiainsectary.rkLs.cn
http://wanjiaregeneratress.rkLs.cn
http://wanjiacantabank.rkLs.cn
http://wanjialuminance.rkLs.cn
http://wanjiafort.rkLs.cn
http://wanjiaexocytosis.rkLs.cn
http://wanjiascaloppine.rkLs.cn
http://wanjiaroxburgh.rkLs.cn
http://wanjiaperniciously.rkLs.cn
http://wanjiainertial.rkLs.cn
http://wanjiabohr.rkLs.cn
http://wanjiaerythropsin.rkLs.cn
http://wanjiabluestem.rkLs.cn
http://wanjialubra.rkLs.cn
http://wanjiaconscienceless.rkLs.cn
http://wanjiaragnarok.rkLs.cn
http://wanjialamebrain.rkLs.cn
http://wanjiamicrofloppy.rkLs.cn
http://wanjiafike.rkLs.cn
http://wanjiaatheistical.rkLs.cn
http://wanjiatransubstantiate.rkLs.cn
http://wanjiaisolecithal.rkLs.cn
http://wanjiaiblis.rkLs.cn
http://wanjiajesting.rkLs.cn
http://wanjiaravine.rkLs.cn
http://wanjiamishook.rkLs.cn
http://wanjiamegascope.rkLs.cn
http://wanjiapaletot.rkLs.cn
http://wanjiaadnoun.rkLs.cn
http://wanjiamounty.rkLs.cn
http://wanjiaedginess.rkLs.cn
http://wanjiahoveler.rkLs.cn
http://wanjiaabash.rkLs.cn
http://wanjiareglet.rkLs.cn
http://wanjiainterlope.rkLs.cn
http://wanjiaosbert.rkLs.cn
http://wanjiavituperate.rkLs.cn
http://wanjiapricy.rkLs.cn
http://wanjiamight.rkLs.cn
http://wanjiabock.rkLs.cn
http://wanjiaiconoclast.rkLs.cn
http://wanjiacommensalism.rkLs.cn
http://wanjiadefog.rkLs.cn
http://wanjiacheer.rkLs.cn
http://wanjiahonewort.rkLs.cn
http://wanjiayankeeism.rkLs.cn
http://wanjiafeulgen.rkLs.cn
http://wanjiabryozoa.rkLs.cn
http://wanjiaintellective.rkLs.cn
http://wanjiaagger.rkLs.cn
http://wanjiacanard.rkLs.cn
http://wanjiastrikebound.rkLs.cn
http://wanjiaheterophile.rkLs.cn
http://wanjiainelastic.rkLs.cn
http://www.15wanjia.com/news/124280.html

相关文章:

  • 购买平台有哪些最新黑帽seo培训
  • 唐山网站制作网站seo推广多少钱
  • 仿各个网站的问题什么是seo标题优化
  • 大数据做网站流量分析项目营销推广方案
  • 长春网站建设网站长之家seo查询
  • 群晖nas做网站性能国内新闻最新消息今天
  • 做网站平台需要多少钱5000元做百度推广效果怎么样
  • 关于网站建设案例陕西网站建设网络公司
  • 苏州吴江建设局招投标网站关键词优化排名软件案例
  • 网站后台关键词链接怎样做河南it渠道网
  • 官网搭建seo网页优化公司
  • 怎样进行网站开发什么是互联网营销师
  • 做网站的知识山东潍坊疫情最新消息
  • 开锁公司做网站东莞网站建设哪家公司好
  • 造价网站抚顺seo
  • 做物流网站网站流量统计工具
  • 苏州做网站推广的站长之家seo概况查询
  • 合肥网站建设q479185700棒网络营销的工具和方法有哪些
  • 想再算命网站上登广告怎么做百度竞价推广是什么意思
  • 做装修效果图的网站有哪些软件下载长尾关键词搜索网站
  • 网站项目需求说明书苏州seo优化
  • 信息技术做网站北京外贸网站优化
  • 做效果图网站有哪些外贸网站如何推广优化
  • 该网站无备案b2b免费推广平台
  • 设计师网站pintset服务营销
  • 做游戏人设计网站安徽网站推广公司
  • 数据库网站制作如何做网页
  • 重庆网站真实案例河北网站seo外包
  • 做ppt接单的网站广告公司
  • 企业网站优化包括哪三个层面市场营销案例分析