主页 > 知识库 > SEATA事务服务DOCKER部署的过程详解

SEATA事务服务DOCKER部署的过程详解

热门标签:使用U盘装系统 阿里云 硅谷的囚徒呼叫中心 智能手机 百度竞价点击价格的计算公式 美图手机 检查注册表项 网站建设

1、创库授权语句

> create database seata;
> grant all on seata.* to seata_user@'%' identified by '123455'

2、数据库建表语句

cat create_seata_table.sql

-- -------------------------------- The script used when storeMode is 'db' --------------------------------
-- the table to store GlobalSession data
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_gmt_modified_status` (`gmt_modified`, `status`),
  KEY `idx_transaction_id` (`transaction_id`)
) ENGINE = InnoDB
 DEFAULT CHARSET = utf8;

-- 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 = InnoDB
 DEFAULT CHARSET = utf8;

-- the table to store lock data
CREATE TABLE IF NOT EXISTS `lock_table`
(
  `row_key`    VARCHAR(128) NOT NULL,
  `xid`      VARCHAR(96),
  `transaction_id` BIGINT,
  `branch_id`   BIGINT    NOT NULL,
  `resource_id`  VARCHAR(256),
  `table_name`   VARCHAR(32),
  `pk`       VARCHAR(36),
  `gmt_create`   DATETIME,
  `gmt_modified`  DATETIME,
  PRIMARY KEY (`row_key`),
  KEY `idx_branch_id` (`branch_id`)
) ENGINE = InnoDB
 DEFAULT CHARSET = utf8;

 3、导入建表语句

mysql -useata_user -p seata < create_seata_table.sql

 4、FILE.CONF修改数据库连接信息

cat /home/seata-server/resources/file.conf
## transaction log store, only used in seata-server
store {
 ## store mode: file、db、redis
 mode = "db"
 ## rsa decryption public key
 publicKey = ""
 ## file store property
 file {
  ## store location dir
  dir = "sessionStore"
  # branch session size , if exceeded first try compress lockkey, still exceeded throws exceptions
  maxBranchSessionSize = 16384
  # globe session size , if exceeded throws exceptions
  maxGlobalSessionSize = 512
  # file buffer size , if exceeded allocate new buffer
  fileWriteBufferCacheSize = 16384
  # when recover batch read size
  sessionReloadReadSize = 100
  # async, sync
  flushDiskMode = async
 }

 ## database store property
 db {
  ## the implement of javax.sql.DataSource, such as DruidDataSource(druid)/BasicDataSource(dbcp)/HikariDataSource(hikari) etc.
  datasource = "druid"
  ## mysql/oracle/postgresql/h2/oceanbase etc.
  dbType = "mysql"
  driverClassName = "com.mysql.jdbc.Driver"
  ## if using mysql to store the data, recommend add rewriteBatchedStatements=true in jdbc connection param
  url = "jdbc:mysql://192.168.56.30:3306/seata?rewriteBatchedStatements=true" user = "seata_user"
  password = "123455"
  minConn = 5
  maxConn = 100
  globalTable = "global_table"
  branchTable = "branch_table"
  lockTable = "lock_table"
  queryLimit = 100
  maxWait = 5000
 }

 ## redis store property
 redis {
  ## redis mode: single、sentinel
  mode = "single"
  ## single mode property
  single {
   host = "127.0.0.1"
   port = "6379"
  }
  ## sentinel mode property
  sentinel {
   masterName = ""
   ## such as "10.28.235.65:26379,10.28.235.65:26380,10.28.235.65:26381"
   sentinelHosts = ""
  }
  password = ""
  database = "0"
  minConn = 1
  maxConn = 10
  maxTotal = 100
  queryLimit = 100
 }
}

5、REGISTRY.CONF修改注册NACOS连接信息

cat /home/seata-server/resources/registry.conf
registry {
 # file 、nacos 、eureka、redis、zk、consul、etcd3、sofa
 type = "nacos"
 loadBalance = "RandomLoadBalance"
 loadBalanceVirtualNodes = 10

 nacos {
  application = "es-provider-seata"
  serverAddr = "192.168.56.30:8848"
  group = "DEFAULT_GROUP"
  namespace = ""
  cluster = "default"
  username = "nacos"
  password = "nacos"
 }
 eureka {
  serviceUrl = "http://localhost:8761/eureka"
  application = "default"
  weight = "1"
 }
 redis {
  serverAddr = "localhost:6379"
  db = 0
  password = ""
  cluster = "default"
  timeout = 0
 }
 zk {
  cluster = "default"
  serverAddr = "127.0.0.1:2181"
  sessionTimeout = 6000
  connectTimeout = 2000
  username = ""
  password = ""
 }
 consul {
  cluster = "default"
  serverAddr = "127.0.0.1:8500"
  aclToken = ""
 }
 etcd3 {
  cluster = "default"
  serverAddr = "http://localhost:2379"
 }
 sofa {
  serverAddr = "127.0.0.1:9603"
  application = "default"
  region = "DEFAULT_ZONE"
  datacenter = "DefaultDataCenter"
  cluster = "default"
  group = "SEATA_GROUP"
  addressWaitTime = "3000"
 }
 file {
  name = "file.conf"
 }
}

config {
 # file、nacos 、apollo、zk、consul、etcd3
 type = "file"

 nacos {
  serverAddr = "127.0.0.1:8848"
  namespace = ""
  group = "SEATA_GROUP"
  username = ""
  password = ""
  dataId = "seataServer.properties"
 }
 consul {
  serverAddr = "127.0.0.1:8500"
  aclToken = ""
 }
 apollo {
  appId = "seata-server"
  ## apolloConfigService will cover apolloMeta
  apolloMeta = "http://192.168.1.204:8801"
  apolloConfigService = "http://192.168.1.204:8080"
  namespace = "application"
  apolloAccesskeySecret = ""
  cluster = "seata"
 }
 zk {
  serverAddr = "127.0.0.1:2181"
  sessionTimeout = 6000
  connectTimeout = 2000
  username = ""
  password = ""
 }
 etcd3 {
  serverAddr = "http://localhost:2379"
 }
 file {
  name = "file.conf"
 }
}

6、DOCKER部署服务

docker run  --name seata-server-latest -p 8091:8091 \

-v /home/seata-server/resources/file.conf:/seata-server/resources/file.conf \ 
-v /home/seata-server/resources/registry.conf:/seata-server/resources/registry.conf \

-v /home/seata-server/logs:/root/logs \

seataio/seata-server:1.3.0

到此这篇关于SEATA事务服务DOCKER部署的过程详解的文章就介绍到这了,更多相关seata docker部署内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

标签:湖北 湘潭 烟台 怀化 山南 黄山 通辽 贺州

巨人网络通讯声明:本文标题《SEATA事务服务DOCKER部署的过程详解》,本文关键词  ;如发现本文内容存在版权问题,烦请提供相关信息告之我们,我们将及时沟通与处理。本站内容系统采集于网络,涉及言论、版权与本站无关。
  • 相关文章
  • 收缩
    • 微信客服
    • 微信二维码
    • 电话咨询

    • 400-1100-266