Seata部署操作流程是怎么样的?
Seata部署
一、下载seata:
mkdir-p/opt
cd/opt
wgethttp://res.javamall.com.cn/seata-server-1.0.0.tar.gz
或者
mkdir-p/opt
cd/opt
部分内容已省略
解压:
tar-xzvfseata-server-1.0.0.tar.gz
二、建立数据库
1、创建数据库:
CREATEDATABASEIFNOTEXISTSseataDEFAULTCHARSETutf8COLLATEutf8_bin;
2、建立表结构:
在数据库中执行以下SQL语句:
------------------------------
--Tablestructureforbranch_table
------------------------------
DROPTABLEIFEXISTS`branch_table`;
CREATETABLE`branch_table`(
`branch_id`bigint(20)NOTNULL,
`xid`varchar(128)CHARACTERSETutf8COLLATEutf8_general_ciNOTNULL,
`transaction_id`bigint(20)NULLDEFAULTNULL,
`resource_group_id`varchar(32)CHARACTERSETutf8COLLATEutf8_general_ciNULLDEFAULTNULL,
`resource_id`varchar(256)CHARACTERSETutf8COLLATEutf8_general_ciNULLDEFAULTNULL,
`branch_type`varchar(8)CHARACTERSETutf8COLLATEutf8_general_ciNULLDEFAULTNULL,
`status`tinyint(4)NULLDEFAULTNULL,
`client_id`varchar(64)CHARACTERSETutf8COLLATEutf8_general_ciNULLDEFAULTNULL,
`application_data`varchar(2000)CHARACTERSETutf8COLLATEutf8_general_ciNULLDEFAULTNULL,
`gmt_create`datetime(0)NULLDEFAULTNULL,
`gmt_modified`datetime(0)NULLDEFAULTNULL,
PRIMARYKEY(`branch_id`)USINGBTREE,
INDEX`idx_xid`(`xid`)USINGBTREE
)ENGINE=InnoDBCHARACTERSET=utf8COLLATE=utf8_general_ciROW_FORMAT=Dynamic;
------------------------------
--Tablestructureforglobal_table
------------------------------
DROPTABLEIFEXISTS`global_table`;
CREATETABLE`global_table`(
`xid`varchar(128)CHARACTERSETutf8COLLATEutf8_general_ciNOTNULL,
`transaction_id`bigint(20)NULLDEFAULTNULL,
`status`tinyint(4)NOTNULL,
`application_id`varchar(32)CHARACTERSETutf8COLLATEutf8_general_ciNULLDEFAULTNULL,
`transaction_service_group`varchar(255)CHARACTERSETutf8COLLATEutf8_general_ciNULLDEFAULTNULL,
`transaction_name`varchar(128)CHARACTERSETutf8COLLATEutf8_general_ciNULLDEFAULTNULL,
`timeout`int(11)NULLDEFAULTNULL,
`begin_time`bigint(20)NULLDEFAULTNULL,
`application_data`varchar(2000)CHARACTERSETutf8COLLATEutf8_general_ciNULLDEFAULTNULL,
`gmt_create`datetime(0)NULLDEFAULTNULL,
`gmt_modified`datetime(0)NULLDEFAULTNULL,
PRIMARYKEY(`xid`)USINGBTREE,
INDEX`idx_gmt_modified_status`(`gmt_modified`,`status`)USINGBTREE,
INDEX`idx_transaction_id`(`transaction_id`)USINGBTREE
)ENGINE=InnoDBCHARACTERSET=utf8COLLATE=utf8_general_ciROW_FORMAT=Dynamic;
------------------------------
--Tablestructureforlock_table
------------------------------
DROPTABLEIFEXISTS`lock_table`;
CREATETABLE`lock_table`(
`row_key`varchar(128)CHARACTERSETutf8COLLATEutf8_general_ciNOTNULL,
`xid`varchar(96)CHARACTERSETutf8COLLATEutf8_general_ciNULLDEFAULTNULL,
`transaction_id`bigint(20)NULLDEFAULTNULL,
`branch_id`bigint(20)NOTNULL,
`resource_id`varchar(256)CHARACTERSETutf8COLLATEutf8_general_ciNULLDEFAULTNULL,
`table_name`varchar(32)CHARACTERSETutf8COLLATEutf8_general_ciNULLDEFAULTNULL,
`pk`varchar(36)CHARACTERSETutf8COLLATEutf8_general_ciNULLDEFAULTNULL,
`gmt_create`datetime(0)NULLDEFAULTNULL,
`gmt_modified`datetime(0)NULLDEFAULTNULL,
PRIMARYKEY(`row_key`)USINGBTREE,
INDEX`idx_branch_id`(`branch_id`)USINGBTREE
)ENGINE=InnoDBCHARACTERSET=utf8COLLATE=utf8_general_ciROW_FORMAT=Dynamic;
三、运行seata:
1、修改配置文件
seata所在目录/conf/file.conf
vi/opt/seata/conf/file.conf
修改数据库配置:
##transactionlogstore,onlyusedinseata-server
store{
#其他配置,省略...
db{
#其他配置,省略...
driver-class-name="com.mysql.jdbc.Driver"
#修改为seata数据库地址
url="jdbc:mysql://192.168.2.13:3306/seata"
#修改为seata数据库的用户名和密码
user="root"
password="123456"
}
}
2、启动seata
进入到seata/bin目录:
nohup./seata-server.sh-h127.0.0.1-p8091&
四、修改javashop中的seata配置:
重点在于如下配置:
seata:
enabled:true#开启seata
#其他配置详细见下面,这里略...
service:
vgroup-mapping:default
grouplist:seataserver所在ip:8091#这里要配置刚刚启动的seata的机器ip
enable-degrade:false
一下为完整的seata配置:
seata:
enabled:true#开启seata
application-id:javashop
tx-service-group:javashopt_tx_group
client:
rm-async-commit-buffer-limit:1000
rm-report-retry-count:5
rm-table-meta-check-enable:false
rm-report-success-enable:true
rm:
lock:
lock-retry-interval:10
lock-retry-times:30
lock-retry-policy-branch-rollback-on-conflict:true
tm-commit-retry-count:5
tm-rollback-retry-count:5
support:
spring:
datasource-autoproxy:true
undo:
undo-data-validation:true
undo-log-serialization:jackson
undo-log-table:undo_log
client:
log:
exceptionRate:100
service:
vgroup-mapping:default
grouplist:127.0.0.1:8091
enable-degrade:false
disable-global-transaction:false
transport:
shutdown:
wait:3
thread-factory:
boss-thread-prefix:NettyBoss
worker-thread-prefix:NettyServerNIOWorker
server-executor-thread-prefix:NettyServerBizHandler
share-boss-worker:false
client-selector-thread-prefix:NettyClientSelector
client-selector-thread-size:1
client-worker-thread-prefix:NettyClientWorkerThread
type:TCP
server:NIO
heartbeat:true
serialization:seata
compressor:none
enable-client-batch-send-request:true
config:
type:file
file:
name:file.conf
registry:
type:file
file:
name:file.conf
五、验证:
正常启动javashop工程则分布式事务已经生效
以上就是易族智汇javashop为您整理的关于Seata部署的内容,就为您介绍到这里。想了解更多关于技术的内容,请关注“技术文档栏目https://www.javamall.com.cn/xueyuan/jswd/”