文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

怎么在DOCKER中部署一个SEATA事务服务

2023-06-06 16:53

关注

这期内容当中小编将会给大家带来有关怎么在DOCKER中部署一个SEATA事务服务,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。

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 dataCREATE 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 dataCREATE 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 dataCREATE 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-serverstore { ## 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/h3/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.confregistry { # 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

上述就是小编为大家分享的怎么在DOCKER中部署一个SEATA事务服务了,如果刚好有类似的疑惑,不妨参照上述分析进行理解。如果想知道更多相关知识,欢迎关注编程网行业资讯频道。

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     807人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     351人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     314人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     433人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     221人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯