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/”

郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。

郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。

后台-系统设置-扩展变量-手机广告位-内容正文底部
留言与评论(共有 0 条评论)
   
验证码: