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

325建筑兼职网旺道seo优化

325建筑兼职网,旺道seo优化,中国做外贸的网站有哪些,重庆快建网站目录 一、Seata 架构 1.1、Seata 架构重要角色 1.2、部署 TC 服务 1.2.1、前言 1.2.2、下载 seata-server 包,解压 1.2.3、修改配置 1.2.4、在 nacos 中添加配置 1.2.5、创建数据库表 1.2.6、启动 TC 服务 1.3、微服务集成 Seata 1.3.1、引入依赖 1.3.2、…

目录

一、Seata 架构

1.1、Seata 架构重要角色

1.2、部署 TC 服务

1.2.1、前言

1.2.2、下载 seata-server 包,解压

1.2.3、修改配置

1.2.4、在 nacos 中添加配置

1.2.5、创建数据库表

1.2.6、启动 TC 服务

1.3、微服务集成 Seata

1.3.1、引入依赖

1.3.2、修改配置文件(添加 Seata)


一、Seata 架构


1.1、Seata 架构重要角色

Seata 事务管理中,有以下三个重要的角色:

  1. TC (Transaction Coordinator) - 事务协调者:维护全局和分支事务的状态,协调全局事务提交或回滚。
  2. TM (Transaction Manager) - 事务管理器:定义全局事务的范围、开始全局事务、提交或回滚全局事务。
  3. RM (Resource Manager) - 资源管理器:管理分支事务处理的资源,与TC交谈以注册分支事务和报告分支事务的状态,并驱动分支事务提交或回滚。

三者之间的关系

1. 分布式事务有一个入口方法,会去调用多个微服务,每调用一个微服务就相当于一个分支事务.  因此整个入口方法就定义全局事务的范围,TM 就会去监控这个入口的方法,也就知道这个事务里有多少分支事务.

2. 当入口方法被执行时,TM 会首先拦截当前这个执行的动作,然后向 TC 发送一个请求,注册全局事务.  那么接下来,就可以去执行这个入口的业务逻辑了,进一步的,分支事务也就开始执行了.

3. RM 此时就要上场了,他会在分支事务执行的时候拦截下来,然后向 TC 注册这个分支事务,告诉他说“我是属于哪个全局事务,这里有一个分支要执行了啊”.   然后 RM 就可以执行这个业务的 sql(为甚叫就资源管理器,因为资源指的是数据库,RM 就需要执行sql).  执行完后再把当前分支事务的状态报告给 TC(执行成功了?还是回滚了?).  这样一来,TC 就知道每一个分支事务的状态了. 

4. 等到 TM  这边的入口方法全部执行完毕了,就可以提交这个事务到 TC 了(告诉他说:“我这边处理完了,接下来看你怎么办吧~”). 之后 TC 就会去检查刚刚注册的每一个分支事务的状态,如果都是成功的,就告诉这些 RM 说:“你们去提交吧”.  如果 TC 这边检查到有失败的,那就让他们全部回滚.

Ps:以上只是分布式事务解决方案的基本模型,不是最终的解决方案. 在后续的章节中,也会讲到的.

1.2、部署 TC 服务

1.2.1、前言

刚刚我们已经知道了 Seata 中三个重要角色,其中 tm 和 rm 是对业务的管理,而  tc 则是脱离业务之外的独立服务,需要协调 tm 和 rm,协调全局事务和分支事务.

这里我就来带大家搭建一下 Seata 的 TC 服务.

1.2.2、下载 seata-server 包,解压

首先我们要下载 seata-server 包,官网地址如下:

http://seata.io

Ps:在非中文目录解压这个 zip 包.

1.2.3、修改配置

修改 conf 目录下的 registry.conf 文件.

registry {# tc服务的注册中心类,这里选择nacos,也可以是eureka、zookeeper等type = "nacos"nacos {# seata tc 服务注册到 nacos的服务名称,可以自定义application = "seata-tc-server"serverAddr = "127.0.0.1:8848"group = "DEFAULT_GROUP"namespace = ""cluster = "SH"username = "nacos"password = "nacos"}
}config {# 读取tc服务端的配置文件的方式,这里是从nacos配置中心读取,这样如果tc是集群,可以共享配置type = "nacos"# 配置nacos地址等信息nacos {serverAddr = "127.0.0.1:8848"namespace = ""group = "SEATA_GROUP"username = "nacos"password = "nacos"dataId = "seataServer.properties"}
}

1.2.4、在 nacos 中添加配置

为了让 TC 服务的集群可以共享配置,这里我们选择了 nacos 做为统一的配置中心.

因此服务端配置文件 seataServer.properties 文件需要在 nacos 中配置好.

Ps:DataID 和 Group 要对应 registry.conf 文件中的配置 

配置内容如下:

# 数据存储方式,db代表数据库
store.mode=db
store.db.datasource=druid
store.db.dbType=mysql
store.db.driverClassName=com.mysql.jdbc.Driver
store.db.url=jdbc:mysql://127.0.0.1:3306/seata?useUnicode=true&rewriteBatchedStatements=true
store.db.user=root
store.db.password=jaodfhgaduqheqh82043ht^&*(%$ioueryg0gu3q0gq3gusaioy8tq94gyu80q32g
store.db.minConn=5
store.db.maxConn=30
store.db.globalTable=global_table
store.db.branchTable=branch_table
store.db.queryLimit=100
store.db.lockTable=lock_table
store.db.maxWait=5000
# 事务、日志等配置
server.recovery.committingRetryPeriod=1000
server.recovery.asynCommittingRetryPeriod=1000
server.recovery.rollbackingRetryPeriod=1000
server.recovery.timeoutRetryPeriod=1000
server.maxCommitRetryTimeout=-1
server.maxRollbackRetryTimeout=-1
server.rollbackRetryTimeoutUnlockEnable=false
server.undo.logSaveDays=7
server.undo.logDeletePeriod=86400000# 客户端与服务端传输方式
transport.serialization=seata
transport.compressor=none
# 关闭metrics功能,提高性能
metrics.enabled=false
metrics.registryType=compact
metrics.exporterList=prometheus
metrics.exporterPrometheusPort=9898

Ps:以上只有数据的存储方式需要我们自己配置,其他的都可以不配置(走默认配置),上面配置的原因是方便以后修改默认配置.  

1.2.5、创建数据库表

TC 服务在管理分布式事务时,需要记录事务相关数据到数据库,因此需要提前创建好这些表

分支事务表如下:

DROP TABLE IF EXISTS `branch_table`;
CREATE TABLE `branch_table`  (`branch_id` bigint(20) NOT NULL,`xid` varchar(128) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL,`transaction_id` bigint(20) NULL DEFAULT NULL,`resource_group_id` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,`resource_id` varchar(256) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,`branch_type` varchar(8) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,`status` tinyint(4) NULL DEFAULT NULL,`client_id` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,`application_data` varchar(2000) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,`gmt_create` datetime(6) NULL DEFAULT NULL,`gmt_modified` datetime(6) NULL DEFAULT NULL,PRIMARY KEY (`branch_id`) USING BTREE,INDEX `idx_xid`(`xid`) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Compact;

全局事务表如下:

DROP TABLE IF EXISTS `global_table`;
CREATE TABLE `global_table`  (`xid` varchar(128) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL,`transaction_id` bigint(20) NULL DEFAULT NULL,`status` tinyint(4) NOT NULL,`application_id` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,`transaction_service_group` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,`transaction_name` varchar(128) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,`timeout` int(11) NULL DEFAULT NULL,`begin_time` bigint(20) NULL DEFAULT NULL,`application_data` varchar(2000) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,`gmt_create` datetime NULL DEFAULT NULL,`gmt_modified` datetime NULL DEFAULT NULL,PRIMARY KEY (`xid`) USING BTREE,INDEX `idx_gmt_modified_status`(`gmt_modified`, `status`) USING BTREE,INDEX `idx_transaction_id`(`transaction_id`) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Compact;SET FOREIGN_KEY_CHECKS = 1;

1.2.6、启动 TC 服务

Windows 系统进入 bin 目录,运行 seata-server.bat 即可.

启动完成后,可以看到默认端口是 8091(当然这个端口不是给你访问的,而是给 tm 和 rm 访问的).

之后,打开浏览器,输入 nacos 地址:localhost:8848/nacos,进入服务列表页,就可以看到 seata-tc-server 的信息,表明注册成功,如下.

1.3、微服务集成 Seata

1.3.1、引入依赖

引入的 seata 依赖中,默认的 seate starter 依赖版本太低,因此通过 exclusion 排除,引入 seata starter 1.4.2 版本.

<dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-starter-alibaba-seata</artifactId><exclusions><!--版本较低,1.3.0,因此排除--><exclusion><artifactId>seata-spring-boot-starter</artifactId><groupId>io.seata</groupId></exclusion></exclusions>
</dependency>
<!--seata starter 采用1.4.2版本-->
<dependency><groupId>io.seata</groupId><artifactId>seata-spring-boot-starter</artifactId><version>${seata.version}</version>
</dependency>

1.3.2、修改配置文件(添加 Seata)

配置 application.yml,让微服务通过注册中心找到 seata-tc-server.

要找到 nacos 服务,就需要配置:namespace + group + serviceName + cluster

其中 cluster 的配置需要注意,通过映射配置.

内容如下:

seata:registry: # TC服务注册中心的配置,微服务根据这些信息去注册中心获取tc服务地址# 参考tc服务自己的registry.conf中的配置type: nacosnacos: # tcserver-addr: 127.0.0.1:8848namespace: ""group: DEFAULT_GROUPapplication: seata-tc-server # tc服务在nacos中的服务名称tx-service-group: seata-demo # 事务组,根据这个获取tc服务的cluster名称service:vgroup-mapping: # 事务组与TC服务cluster的映射关系seata-demo: SH


文章转载自:
http://dinncopremarital.knnc.cn
http://dinncotanu.knnc.cn
http://dinncopoolside.knnc.cn
http://dinncotechnics.knnc.cn
http://dinncospoonbill.knnc.cn
http://dinncocyberpunk.knnc.cn
http://dinncosupraconscious.knnc.cn
http://dinncoedinburgh.knnc.cn
http://dinncoawash.knnc.cn
http://dinncogardenesque.knnc.cn
http://dinncoscriptgirl.knnc.cn
http://dinncoturpeth.knnc.cn
http://dinncohostie.knnc.cn
http://dinncobradypepsia.knnc.cn
http://dinncovisionless.knnc.cn
http://dinncogermanise.knnc.cn
http://dinncooffish.knnc.cn
http://dinnconodulate.knnc.cn
http://dinncobrucella.knnc.cn
http://dinncofraction.knnc.cn
http://dinncopinochle.knnc.cn
http://dinncotrounce.knnc.cn
http://dinncohaematogenous.knnc.cn
http://dinncozebrawood.knnc.cn
http://dinncotire.knnc.cn
http://dinncosigmate.knnc.cn
http://dinncoisokeraunic.knnc.cn
http://dinncobbb.knnc.cn
http://dinncodustheap.knnc.cn
http://dinncominnow.knnc.cn
http://dinncoambient.knnc.cn
http://dinncomethacetin.knnc.cn
http://dinncofan.knnc.cn
http://dinncogambier.knnc.cn
http://dinncovalidating.knnc.cn
http://dinncoseaware.knnc.cn
http://dinncodoctrine.knnc.cn
http://dinncodigestive.knnc.cn
http://dinncooctangular.knnc.cn
http://dinncoconnoisseur.knnc.cn
http://dinncohub.knnc.cn
http://dinncoagitprop.knnc.cn
http://dinncotriceps.knnc.cn
http://dinncosynergic.knnc.cn
http://dinncowell.knnc.cn
http://dinncodaee.knnc.cn
http://dinncoinfraspecific.knnc.cn
http://dinncopurism.knnc.cn
http://dinncoplatinotype.knnc.cn
http://dinnconazification.knnc.cn
http://dinncopyridine.knnc.cn
http://dinncoobtrusion.knnc.cn
http://dinncounderappreciated.knnc.cn
http://dinncokeppel.knnc.cn
http://dinncoteraph.knnc.cn
http://dinncometathesize.knnc.cn
http://dinncobullion.knnc.cn
http://dinncosubinfeudation.knnc.cn
http://dinncounprovoked.knnc.cn
http://dinncocryptography.knnc.cn
http://dinncoacquaint.knnc.cn
http://dinncosoporiferous.knnc.cn
http://dinncomorigeration.knnc.cn
http://dinncoobservatory.knnc.cn
http://dinncotranscendence.knnc.cn
http://dinncotenuity.knnc.cn
http://dinncohypophysectomy.knnc.cn
http://dinncopad.knnc.cn
http://dinncounderwork.knnc.cn
http://dinncofanconi.knnc.cn
http://dinncocaulocaline.knnc.cn
http://dinnconorthumbria.knnc.cn
http://dinncotemperable.knnc.cn
http://dinncoprepuberty.knnc.cn
http://dinncodecastyle.knnc.cn
http://dinncoruminative.knnc.cn
http://dinnconecrologist.knnc.cn
http://dinncolatish.knnc.cn
http://dinncoginkgo.knnc.cn
http://dinncomanege.knnc.cn
http://dinncocarsick.knnc.cn
http://dinncounstep.knnc.cn
http://dinncoparenchyma.knnc.cn
http://dinncosonorously.knnc.cn
http://dinncomultilist.knnc.cn
http://dinncometate.knnc.cn
http://dinncowtp.knnc.cn
http://dinncomethedrine.knnc.cn
http://dinncodrafty.knnc.cn
http://dinncopandiculation.knnc.cn
http://dinncoelodea.knnc.cn
http://dinncovibratility.knnc.cn
http://dinncosadiron.knnc.cn
http://dinncodefuze.knnc.cn
http://dinncocolloid.knnc.cn
http://dinncosunfall.knnc.cn
http://dinncogrant.knnc.cn
http://dinncoallover.knnc.cn
http://dinncobacciform.knnc.cn
http://dinncosilkworm.knnc.cn
http://www.dinnco.com/news/148173.html

相关文章:

  • 北京网站建设的服务商天天网站
  • 大江网站建设html简单网页代码
  • 房源网站哪个比较真实快速优化seo
  • 学做网站的书哪些好互联网推广方案怎么写
  • 百度推广包做网站吗网站友链查询源码
  • 米读小说免费网站抢个总裁做爹地免费营销培训
  • 网站建设 繁体搜资源
  • 一个网站两个域名外贸网站推广seo
  • 东莞市建设培训中心网站2021年度关键词有哪些
  • 网站怎样做优化网站优化资源
  • 哪个网站有做阿里巴巴流量网盟推广是什么意思
  • 给公司建网站 深圳公司网络推广该怎么做
  • 做网站收费杭州seo关键字优化
  • 网站建设烟台网站怎么创建
  • 网站开发程序测试维护人员友链购买有效果吗
  • 设计理念万能模板整站优化案例
  • 专题网站建设意义何在微信crm系统软件
  • 做本地团购网站怎么样百度指数大数据
  • 作业提交免费网站大二网页设计作业成品
  • 网站提示建设中免费网站制作软件平台
  • 江西建设城乡网站查询上海seo优化
  • 哈尔滨信息网租房信息小红书seo排名帝搜软件
  • 公司的网站怎么运营seo短视频网页入口
  • 郑州郑东新区网站建设免费网络推广平台有哪些
  • 内部的网络营销推广渠道防疫优化措施
  • 常用的网站制作西安seo网络优化公司
  • 南京h5设计公司seo算法优化
  • epanel wordpress优化网站性能监测
  • 有什么办法做自己的网站自助建站系统开发
  • wordpress免费网站模板网站友情链接查询