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

百度站长资源平台图片在线制作二维码

百度站长资源平台,图片在线制作二维码,大鱼号自媒体平台,宁夏吴忠网站建设记录:381场景:在CentOS 7.9操作系统上,安装seata-1.6.0。在Windows上操作系统上,安装seata-1.6.0。Seata,一款开源的分布式事务解决方案,致力于提供高性能和简单易用的分布式事务服务。版本:JDK…

记录:381

场景:在CentOS 7.9操作系统上,安装seata-1.6.0。在Windows上操作系统上,安装seata-1.6.0。Seata,一款开源的分布式事务解决方案,致力于提供高性能和简单易用的分布式事务服务。

版本:

JDK 1.8
seata-1.6.0
CentOS 7.9

官网地址:https://seata.io/

源码地址:https://github.com/seata/seata

官网手册:https://seata.io/zh-cn/docs/ops/deploy-guide-beginner.html

Seata,一款开源的分布式事务解决方案,致力于提供高性能和简单易用的分布式事务服务。

Three roles in Seata Framework:

Transaction Coordinator(TC): Maintain status of global and branch transactions, drive the global commit or rollback.

Transaction Manager(TM): Define the scope of global transaction: begin a global transaction, commit or rollback a global transaction.

Resource Manager(RM): Manage resources that branch transactions working on, talk to TC for registering branch transactions and reporting status of branch transactions, and drive the branch transaction commit or rollback.

一、在Linux上安装seata

安装Seata,存储模式使用MySQL,服务发现和配置使用Nacos。

1.下载Seata

版本:v1.6.0

发布日期:Dec 17, 2022

下载地址:wget https://github.com/seata/seata/releases/download/v1.6.0/seata-server-1.6.0.tar.gz

下载包:seata-server-1.6.0.tar.gz

2.解压Seata

解压命令:tar -zxvf seata-server-1.6.0.tar.gz -C /opt/seata-1.6.0

解析:把seata-server-1.6.0.tar.gz解压到/opt/seata-1.6.0。在seata下的目录。bin目录是启动脚本。conf目录是配置文件。ext目录下是skywalking插件相关内容。lib目录是全量jar包。logs目录是日志包。script目录是脚本目录。target目录是seata-server.jar包。

3.初始化数据库脚本

本例存储模式使用MySQL数据库。

3.1创建数据库和用户

用户名/口令:hub_seata/12345678

数据库名称:hub_seatadb

登录控制台:mysql -u root -p

在MySQL命令行控制台执行脚本。

USE mysql;
CREATE DATABASE hub_seatadb DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
CREATE USER hub_seata@'%' IDENTIFIED BY '12345678';
GRANT ALL ON hub_seatadb.* TO 'hub_seata'@'%' IDENTIFIED BY '12345678';
FLUSH PRIVILEGES;

3.2初始化seata数据库

脚本目录:/opt/seata-1.6.0/script/server/db/mysql.sql

初始化表:branch_table、distributed_lock、global_table、lock_table。

4.启动Nacos

启动脚本目录:/opt/nacos-2.1.1/bin

4.1启动Nacos

启动命令:sh startup.sh -m standalone

地址:http://127.0.0.1:18848/nacos

用户名/口令:nacos/nacos

4.2创建seata命名空间

命名空间名称:hub_seata

命名空间ID:142eba5f-a7b5-4a83-85bb-663c582c8ef1

5.配置seata

在/opt/seata-1.6.0/conf目录下,application.example.yml是配置文件的模板,包含全量配置。application.yml是应用启动时加载配置,根据实际情况按需从application.example.yml中拷贝添加就行

5.1修改application.yml配置

修改文件:/opt/seata-1.6.0/conf/application.yml

修改内容:

server:port: 7091
spring:application:name: seata-server
logging: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_logstash
console:user:username: seatapassword: seata
seata:config:type: nacosnacos:server-addr: 192.168.19.203:18848namespace: 142eba5f-a7b5-4a83-85bb-663c582c8ef1group: SEATA_GROUPusername: nacospassword: nacoscontext-path:data-id: seataServer.propertiesregistry:type: nacosnacos:application: seata-serverserver-addr: 192.168.19.203:18848group: SEATA_GROUPnamespace: 142eba5f-a7b5-4a83-85bb-663c582c8ef1cluster: defaultusername: nacospassword: nacoscontext-path:store:mode: dbdb:datasource: druiddb-type: mysqldriver-class-name: com.mysql.jdbc.Driverurl: jdbc:mysql://192.168.19.202:3306/hub_seatadb?rewriteBatchedStatements=trueuser: hub_seatapassword: 12345678min-conn: 5max-conn: 100global-table: global_tablebranch-table: branch_tablelock-table: lock_tabledistributed-lock-table: distributed_lockquery-limit: 100max-wait: 5000    security:secretKey: SeataSecretKey0c382ef121d778043159209298fd40bf3850a017tokenValidityInMilliseconds: 1800000ignore:urls: /,/**/*.css,/**/*.js,/**/*.html,/**/*.map,/**/*.svg,/**/*.png,/**/*.ico,/console-fe/public/**,/api/v1/auth/login

5.2在Nacos新建seataServer.properties

5.2.1页面配置

在Nacos页面中,选择

命名空间:hub_seata。命名空间ID:142eba5f-a7b5-4a83-85bb-663c582c8ef1。创建配置seataServer.properties。

Data ID:seataServer.properties。

Group:SEATA_GROUP

配置格式:Properties

配置内容:从/opt/seata-1.6.0/script/config-center\config.txt文件中拷贝需求的配置。

本例从config.txt摘取的配置修改过的配置。

service.vgroupMapping.hub_tx_group=default
store.mode=db
store.lock.mode=db
store.session.mode=db
store.publicKey=123456
store.db.datasource=druid
store.db.dbType=mysql
store.db.driverClassName=com.mysql.jdbc.Driver
store.db.url=jdbc:mysql://192.168.19.203:3306/hub_seatadb?useUnicode=true&rewriteBatchedStatements=true
store.db.user=hub_seata
store.db.password=12345678

解析:config.txt配置内容在源码包../seata-1.6.0/config/seata-config-core/src/main/resources/config.txt和安装包/opt/seata-1.6.0/script/config-center/config.txt两处位置都可以找到。

5.2.2配置生效

在Nacos中配置已经生效。

6启动seata

6.1启动seata

操作目录:/opt/seata-1.6.0/bin

启动命令:sh seata-server.sh

6.2查看seata日志

日志:/opt/seata-1.6.0/logs/start.out

命令:tail -f -n 300 /opt/seata-1.6.0/logs/start.out

6.3查看seata已注册

在Nacos已经注册了seata-server服务。

7基于普通用户使用seata

在启动seata时,不使用root用户直接启动,建议使用普通用户。

改变安装目录赋权给一个普通用户就可以。

7.1创建普通用户操作

创建用户命令:useradd learn

修改密码命令:passwd

解析:在执行passwd时,提示输入密码。可以查看用户信息:cat /etc/passwd。

7.2普通用户信息

用户名称/口令:learn/12345678

7.3把seata的安装目录赋权给普通用户

命令:chown -R learn:learn /opt/seata-1.6.0

7.4启动seata

切换用户:su learn

操作目录:/opt/seata-1.6.0/bin

启动命令:sh seata-server.sh

8.使用nacos-config.sh脚本加载配置

使用nacos-config.sh脚本加载config.txt配置到nacos。

脚本目录:/opt/seata-1.6.0/script/config-center/nacos

命令:sh nacos-config.sh -h 192.168.19.203 -p 18848 -g SEATA_GROUP -t 142eba5f-a7b5-4a83-85bb-663c582c8ef1 -u nacos -w nacos

解析:本例没有使用这种方式。

二、在Windows上安装seata

安装Seata,存储模式使用MySQL,服务发现和配置使用Nacos。

1.下载Seata

版本:v1.6.0

发布日期:Dec 17, 2022

下载地址:https://github.com/seata/seata/releases/download/v1.6.0/seata-server-1.6.0.zip

下载包:seata-server-1.6.0.zip

2.解压Seata

seata-server-1.6.0.zip包解压到D:\dev\hub\ali\seata-1.6.0。

在seata-1.6.0下的目录。bin目录是启动脚本。conf目录是配置文件。ext目录下是skywalking插件相关内容。lib目录是全量jar包。logs目录是日志包。script目录是脚本目录。target目录是seata-server.jar包。

3.初始化数据库脚本

本例存储模式使用MySQL数据库。

3.1创建数据库和用户

用户名/口令:hub_seata/12345678

数据库名称:hub_seatadb

登录控制台:mysql -u root -p

在MySQL命令行控制台执行脚本。

USE mysql;
CREATE DATABASE hub_seatadb DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
CREATE USER hub_seata@'%' IDENTIFIED BY '12345678';
GRANT ALL ON hub_seatadb.* TO 'hub_seata'@'%' IDENTIFIED BY '12345678';
FLUSH PRIVILEGES;

3.2初始化seata数据库

脚本目录:seata\script\server\db\mysql.sql

初始化表:branch_table、distributed_lock、global_table、lock_table。

4.启动Nacos

启动脚本目录:D:\dev\hub\ali\nacos-2.1.1\nacos\bin

4.1启动Nacos

启动命令:sh startup.sh -m standalone

地址:http://192.168.19.203:18848/nacos

用户名/口令:nacos/nacos

4.2创建seata命名空间

命名空间名称:hub_seata

命名空间ID:142eba5f-a7b5-4a83-85bb-663c582c8ef1

5.配置seata

在..\seata\conf目录下,application.example.yml是配置文件的模板,包含全量配置。application.yml是应用启动时加载配置,根据实际情况按需从application.example.yml中拷贝添加就行

5.1修改application.yml配置

修改文件:application.yml

修改内容:

server:port: 7091
spring:application:name: seata-server
logging: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_logstash
console:user:username: seatapassword: seata
seata:config:type: nacosnacos:server-addr: 127.0.0.1:18848namespace: 142eba5f-a7b5-4a83-85bb-663c582c8ef1group: SEATA_GROUPusername: nacospassword: nacoscontext-path:data-id: seataServer.propertiesregistry:type: nacosnacos:application: seata-serverserver-addr: 127.0.0.1:18848group: SEATA_GROUPnamespace: 142eba5f-a7b5-4a83-85bb-663c582c8ef1cluster: defaultusername: nacospassword: nacoscontext-path:store:mode: dbdb:datasource: druiddb-type: mysqldriver-class-name: com.mysql.jdbc.Driverurl: jdbc:mysql://127.0.0.1:3306/hub_seatadb?rewriteBatchedStatements=trueuser: hub_seatapassword: 12345678min-conn: 5max-conn: 100global-table: global_tablebranch-table: branch_tablelock-table: lock_tabledistributed-lock-table: distributed_lockquery-limit: 100max-wait: 5000    security:secretKey: SeataSecretKey0c382ef121d778043159209298fd40bf3850a017tokenValidityInMilliseconds: 1800000ignore:urls: /,/**/*.css,/**/*.js,/**/*.html,/**/*.map,/**/*.svg,/**/*.png,/**/*.ico,/console-fe/public/**,/api/v1/auth/login

5.2在Nacos新建seataServer.properties

5.2.1页面配置

在Nacos页面中,选择

命名空间:hub_seata。命名空间ID:142eba5f-a7b5-4a83-85bb-663c582c8ef1。创建配置seataServer.properties。

Data ID:seataServer.properties。

Group:SEATA_GROUP

配置格式:Properties

配置内容:从seata\script\config-center\config.txt文件中拷贝需求的配置。

本例从config.txt摘取的配置修改过的配置。

service.vgroupMapping.hub_tx_group=default
store.mode=db
store.lock.mode=db
store.session.mode=db
store.publicKey=123456
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/hub_seatadb?useUnicode=true&rewriteBatchedStatements=true
store.db.user=hub_seata
store.db.password=12345678

解析:config.txt配置内容在源码包seata-1.6.0\config\seata-config-core\src\main\resources\config.txt和编译包seata\script\config-center\config.txt两处位置都可以找到。

5.2.2配置生效

在Nacos中配置已经生效。

6启动seata

6.1启动seata

操作目录:..\seata\bin

双击seata-server.bat启动。

6.2查看seata已注册

在Nacos已经注册了seata-server服务。

三、官方配置和SQL脚本

配置文件均是官网原件。

1.mysql.sql

文件目录:/opt/seata-1.6.0/script/server/db

文件内容:

CREATE TABLE IF NOT EXISTS `global_table`
(`xid`                       VARCHAR(128) NOT NULL,`transaction_id`            BIGINT,`status`                    TINYINT      NOT NULL,`application_id`            VARCHAR(32),`transaction_service_group` VARCHAR(32),`transaction_name`          VARCHAR(128),`timeout`                   INT,`begin_time`                BIGINT,`application_data`          VARCHAR(2000),`gmt_create`                DATETIME,`gmt_modified`              DATETIME,PRIMARY KEY (`xid`),KEY `idx_status_gmt_modified` (`status` , `gmt_modified`),KEY `idx_transaction_id` (`transaction_id`)
) ENGINE = InnoDBDEFAULT CHARSET = utf8mb4;-- the table to store BranchSession data
CREATE TABLE IF NOT EXISTS `branch_table`
(`branch_id`         BIGINT       NOT NULL,`xid`               VARCHAR(128) NOT NULL,`transaction_id`    BIGINT,`resource_group_id` VARCHAR(32),`resource_id`       VARCHAR(256),`branch_type`       VARCHAR(8),`status`            TINYINT,`client_id`         VARCHAR(64),`application_data`  VARCHAR(2000),`gmt_create`        DATETIME(6),`gmt_modified`      DATETIME(6),PRIMARY KEY (`branch_id`),KEY `idx_xid` (`xid`)
) ENGINE = InnoDBDEFAULT CHARSET = utf8mb4;-- the table to store lock data
CREATE TABLE IF NOT EXISTS `lock_table`
(`row_key`        VARCHAR(128) NOT NULL,`xid`            VARCHAR(128),`transaction_id` BIGINT,`branch_id`      BIGINT       NOT NULL,`resource_id`    VARCHAR(256),`table_name`     VARCHAR(32),`pk`             VARCHAR(36),`status`         TINYINT      NOT NULL DEFAULT '0' COMMENT '0:locked ,1:rollbacking',`gmt_create`     DATETIME,`gmt_modified`   DATETIME,PRIMARY KEY (`row_key`),KEY `idx_status` (`status`),KEY `idx_branch_id` (`branch_id`),KEY `idx_xid` (`xid`)
) ENGINE = InnoDBDEFAULT CHARSET = utf8mb4;CREATE TABLE IF NOT EXISTS `distributed_lock`
(`lock_key`       CHAR(20) NOT NULL,`lock_value`     VARCHAR(20) NOT NULL,`expire`         BIGINT,primary key (`lock_key`)
) ENGINE = InnoDBDEFAULT CHARSET = utf8mb4;INSERT INTO `distributed_lock` (lock_key, lock_value, expire) VALUES ('AsyncCommitting', ' ', 0);
INSERT INTO `distributed_lock` (lock_key, lock_value, expire) VALUES ('RetryCommitting', ' ', 0);
INSERT INTO `distributed_lock` (lock_key, lock_value, expire) VALUES ('RetryRollbacking', ' ', 0);
INSERT INTO `distributed_lock` (lock_key, lock_value, expire) VALUES ('TxTimeoutCheck', ' ', 0);

2.config.txt

文件目录:/opt/seata-1.6.0/script/config-center

文件内容:

#For details about configuration items, see https://seata.io/zh-cn/docs/user/configurations.html
#Transport configuration, for client and server
transport.type=TCP
transport.server=NIO
transport.heartbeat=true
transport.enableTmClientBatchSendRequest=false
transport.enableRmClientBatchSendRequest=true
transport.enableTcServerBatchSendResponse=false
transport.rpcRmRequestTimeout=30000
transport.rpcTmRequestTimeout=30000
transport.rpcTcRequestTimeout=30000
transport.threadFactory.bossThreadPrefix=NettyBoss
transport.threadFactory.workerThreadPrefix=NettyServerNIOWorker
transport.threadFactory.serverExecutorThreadPrefix=NettyServerBizHandler
transport.threadFactory.shareBossWorker=false
transport.threadFactory.clientSelectorThreadPrefix=NettyClientSelector
transport.threadFactory.clientSelectorThreadSize=1
transport.threadFactory.clientWorkerThreadPrefix=NettyClientWorkerThread
transport.threadFactory.bossThreadSize=1
transport.threadFactory.workerThreadSize=default
transport.shutdown.wait=3
transport.serialization=seata
transport.compressor=none#Transaction routing rules configuration, only for the client
service.vgroupMapping.default_tx_group=default
#If you use a registry, you can ignore it
service.default.grouplist=127.0.0.1:8091
service.enableDegrade=false
service.disableGlobalTransaction=false#Transaction rule configuration, only for the client
client.rm.asyncCommitBufferLimit=10000
client.rm.lock.retryInterval=10
client.rm.lock.retryTimes=30
client.rm.lock.retryPolicyBranchRollbackOnConflict=true
client.rm.reportRetryCount=5
client.rm.tableMetaCheckEnable=true
client.rm.tableMetaCheckerInterval=60000
client.rm.sqlParserType=druid
client.rm.reportSuccessEnable=false
client.rm.sagaBranchRegisterEnable=false
client.rm.sagaJsonParser=fastjson
client.rm.tccActionInterceptorOrder=-2147482648
client.tm.commitRetryCount=5
client.tm.rollbackRetryCount=5
client.tm.defaultGlobalTransactionTimeout=60000
client.tm.degradeCheck=false
client.tm.degradeCheckAllowTimes=10
client.tm.degradeCheckPeriod=2000
client.tm.interceptorOrder=-2147482648
client.undo.dataValidation=true
client.undo.logSerialization=jackson
client.undo.onlyCareUpdateColumns=true
server.undo.logSaveDays=7
server.undo.logDeletePeriod=86400000
client.undo.logTable=undo_log
client.undo.compress.enable=true
client.undo.compress.type=zip
client.undo.compress.threshold=64k
#For TCC transaction mode
tcc.fence.logTableName=tcc_fence_log
tcc.fence.cleanPeriod=1h#Log rule configuration, for client and server
log.exceptionRate=100#Transaction storage configuration, only for the server. The file, db, and redis configuration values are optional.
store.mode=file
store.lock.mode=file
store.session.mode=file
#Used for password encryption
store.publicKey=#If `store.mode,store.lock.mode,store.session.mode` are not equal to `file`, you can remove the configuration block.
store.file.dir=file_store/data
store.file.maxBranchSessionSize=16384
store.file.maxGlobalSessionSize=512
store.file.fileWriteBufferCacheSize=16384
store.file.flushDiskMode=async
store.file.sessionReloadReadSize=100#These configurations are required if the `store mode` is `db`. If `store.mode,store.lock.mode,store.session.mode` are not equal to `db`, you can remove the configuration block.
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=username
store.db.password=password
store.db.minConn=5
store.db.maxConn=30
store.db.globalTable=global_table
store.db.branchTable=branch_table
store.db.distributedLockTable=distributed_lock
store.db.queryLimit=100
store.db.lockTable=lock_table
store.db.maxWait=5000#These configurations are required if the `store mode` is `redis`. If `store.mode,store.lock.mode,store.session.mode` are not equal to `redis`, you can remove the configuration block.
store.redis.mode=single
store.redis.single.host=127.0.0.1
store.redis.single.port=6379
store.redis.sentinel.masterName=
store.redis.sentinel.sentinelHosts=
store.redis.maxConn=10
store.redis.minConn=1
store.redis.maxTotal=100
store.redis.database=0
store.redis.password=
store.redis.queryLimit=100#Transaction rule configuration, only for the server
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.distributedLockExpireTime=10000
server.xaerNotaRetryTimeout=60000
server.session.branchAsyncQueueSize=5000
server.session.enableBranchAsyncRemove=false
server.enableParallelRequestHandle=false#Metrics configuration, only for the server
metrics.enabled=false
metrics.registryType=compact
metrics.exporterList=prometheus
metrics.exporterPrometheusPort=9898

以上,感谢。

2023年2月19日

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

相关文章:

  • .net 企业网站源码网站开发公司erp
  • 局网站建设总结免费推广预期效果怎么写
  • 万网续费登录网站哪个网站设计好
  • 在临沂做网站提供wordpress空间
  • 做公司网站要去哪里找人做嘉兴装修公司做网站
  • 哪里有网站制作建设网上交易系统
  • 山东建大建设有限公司网站宣传片拍摄应急预案
  • 长沙快速建站模板做网站分期付款比例
  • 潜江建设网站wordpress本地做好如何改站点地址
  • iis怎么设置网站个人微信小程序怎么制作
  • 西宁做网站君博领先深圳市住房和建设局官网
  • 甘肃城乡建设厅网站石家庄网页设计机构
  • 制作小程序网站源码程序外包接单
  • 咖啡网站建设做网站广告收入
  • 微芒科技网站建设top做淘宝网站要安全保障么
  • win7电脑做网站主机残疾人招聘网站建设
  • asp access 做网站什么网站可以做长图
  • ps做图下载网站有哪些网址大全浏览器app
  • 网站建设优化公司哪家好外国茶网站建设
  • 网站建设免费模版做的好的招投标网站
  • 做网页兼职的网站仿美团外卖小程序源码
  • 襄阳 网站建设wordpress个人博客模板
  • 彩票走势图网站是用什么程序做的分析苏宁易购网站内容建设
  • 广东网站建设公司xywdl品川室内设计官网
  • 国防教育网站建设说明书企业邮箱注册登录入口
  • 自己做的网站抬头在哪里改如何做广告推广赚钱
  • 视频网站开发互联网做网站怎么赚钱
  • 做任务佣金网站源码做网站设计好的公司
  • 网站logo例子页面设计公司排名前十
  • 唐山建设企业网站青岛网络营销网络推广介绍