微服务高级篇【2】之Seata部署

这篇具有很好参考价值的文章主要介绍了微服务高级篇【2】之Seata部署。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

Seata的部署和集成

微服务高级篇【2】之Seata部署

1. Seata下载Seata1.6.1

微服务高级篇【2】之Seata部署

2. Seata解压

微服务高级篇【2】之Seata部署文章来源地址https://www.toymoban.com/news/detail-405963.html

3. 修改Seata配置

  • 修改conf目录下的registry.conf文件:
    微服务高级篇【2】之Seata部署
    seata:
      config:
        # support: nacos, consul, apollo, zk, etcd3
        # 读取tc服务端的配置文件的方式,这里是从nacos配置中心读取,这样如果tc是集群,可以共享配置
        type: nacos
        # 配置nacos地址等信息
        nacos:
          serverAddr: 127.0.0.1:8848
          namespace: ""
          group: SEATA_GROUP
          username: nacos
          password: nacos
          dataId: seataServer.properties
      registry:
        # support: nacos, eureka, redis, zk, consul, etcd3, sofa
        # tc服务的注册中心类,这里选择nacos,也可以是eureka、zookeeper等
        type: nacos
        nacos:
          # seata tc 服务注册到 nacos的服务名称,可以自定义
          application: seata-tc-server
          serverAddr: 127.0.0.1:8848
          group: DEFAULT_GROUP
          namespace: ""
          cluster: SH
          username: nacos
          password: nacos
    
    • 注意:nacos中需要创建命名空间,id为 上图中的 seata-namespace-id , 名称 为 seata,但是由于我们配置文件中的seata-namespace-id为空,所以不用进行这一步

4. nacos中新增配置

  • nacos配置列表中新增配置,Data id 对应配置文件中的seataServer.properties,Group为DEFAULT_GROUP
    微服务高级篇【2】之Seata部署
    微服务高级篇【2】之Seata部署
  • 详细的配置内容:
    # 数据存储方式,db代表数据库
    store.mode=db
    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=root
    store.db.password=xxxx 
    store.db.minConn=5
    store.db.maxConn=30
    store.db.globalTable=global_table
    store.db.branchTable=branch_table
    store.db.queryLimit=100
    store.db.lockTable=lock_table
    store.db.maxWait=5000
    # 事务、日志等配置
    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.undo.logSaveDays=7
    server.undo.logDeletePeriod=86400000
    
    # 客户端与服务端传输方式
    transport.serialization=seata
    transport.compressor=none
    # 关闭metrics功能,提高性能
    metrics.enabled=false
    metrics.registryType=compact
    metrics.exporterList=prometheus
    metrics.exporterPrometheusPort=9898
    

5. 创建数据库表

  • 特别注意:tc服务在管理分布式事务时,需要记录事务相关数据到数据库中,需要提前创建好这些表。
  • 新建一个名为seata的数据库,以下代码:
    SET NAMES utf8mb4;
    SET FOREIGN_KEY_CHECKS = 0;
    
    -- ----------------------------
    -- 分支事务表
    -- ----------------------------
    DROP TABLE IF EXISTS `branch_table`;
    CREATE TABLE `branch_table`  (
      `branch_id` bigint(20) NOT NULL,
      `xid` varchar(128) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL,
      `transaction_id` bigint(20) NULL DEFAULT NULL,
      `resource_group_id` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
      `resource_id` varchar(256) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
      `branch_type` varchar(8) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
      `status` tinyint(4) NULL DEFAULT NULL,
      `client_id` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
      `application_data` varchar(2000) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
      `gmt_create` datetime(6) NULL DEFAULT NULL,
      `gmt_modified` datetime(6) NULL DEFAULT NULL,
      PRIMARY KEY (`branch_id`) USING BTREE,
      INDEX `idx_xid`(`xid`) USING BTREE
    ) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Compact;
    
    -- ----------------------------
    -- 全局事务表
    -- ----------------------------
    DROP TABLE IF EXISTS `global_table`;
    CREATE TABLE `global_table`  (
      `xid` varchar(128) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL,
      `transaction_id` bigint(20) NULL DEFAULT NULL,
      `status` tinyint(4) NOT NULL,
      `application_id` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
      `transaction_service_group` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
      `transaction_name` varchar(128) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
      `timeout` int(11) NULL DEFAULT NULL,
      `begin_time` bigint(20) NULL DEFAULT NULL,
      `application_data` varchar(2000) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
      `gmt_create` datetime NULL DEFAULT NULL,
      `gmt_modified` datetime NULL DEFAULT NULL,
      PRIMARY KEY (`xid`) USING BTREE,
      INDEX `idx_gmt_modified_status`(`gmt_modified`, `status`) USING BTREE,
      INDEX `idx_transaction_id`(`transaction_id`) USING BTREE
    ) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Compact;
    
    SET FOREIGN_KEY_CHECKS = 1;
    

6. 启动TC服务

  • 进入bin目录,运行其中的seata-server.bat即可,启动成功后,seata-server应该已经注册到nacos注册中心
  • 打开浏览器,访问nacos地址:http://localhost:8848,然后进入服务列表页面,可以看到seata-tc-server的信息。
    微服务高级篇【2】之Seata部署
    微服务高级篇【2】之Seata部署

到了这里,关于微服务高级篇【2】之Seata部署的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 持续集成部署-k8s-数据持久化-高级存储方式

    持久卷(PersistentVolume,PV) 是集群中的一块存储,可以由管理员事先制备, 或者使用

    2024年02月16日
    浏览(38)
  • Spring集成Seata

    Seata的集成方式有: 1. Seata-All 2. Seata-Spring-Boot-Starter 3. Spring-Cloud-Starter-Seata 本案例使用Seata-All演示: 第一步:下载Seata 第二步:为了更好看到效果,我们将Seata的数据存储改为db 将seatascriptserverdbmysql.sql语句在mysql中执行,创建相关表    然后修改seata配置文件,相关配置可

    2024年02月14日
    浏览(30)
  • springboot dubbo seata nacos集成 分布式事务seata实现

    官网:http://seata.io/zh-cn/docs/overview/what-is-seata.html Seata 是一款开源的分布式事务解决方案,致力于提供高性能和简单易用的分布式事务服务。Seata 将为用户提供了 AT、TCC、SAGA 和 XA 事务模式,为用户打造一站式的分布式解决方案。 官网;https://cn.dubbo.apache.org/zh-cn/overview/what/

    2024年02月13日
    浏览(45)
  • Spring Boot 集成Seata

    Seata的集成方式有: 1. Seata-All 2. Seata-Spring-Boot-Starter 3. Spring-Cloud-Starter-Seata 本案例使用Seata-Spring-Boot-Starter演示: 第一步:下载Seata 第二步:为了更好看到效果,我们将Seata的数据存储改为db 将seatascriptserverdbmysql.sql语句在mysql中执行,创建相关表   然后修改seata配置文件,

    2024年02月14日
    浏览(43)
  • SpringCloud集成Seata saga模式案例

    2023年04月09日
    浏览(34)
  • seata分布式事务(与dubbo集成)

            Seata 是一款开源的分布式事务解决方案,致力于在微服务架构下提供高性能和简单易用的分布式事务服务。 @GlobalTransactional:全局事务注解,添加了以后可实现分布式事务的回滚和提交,用法与spring的@Transactional注解类似,注解参数的作用也基本一致         se

    2024年01月21日
    浏览(42)
  • springCloudAlibaba集成seata实战(分布式事物详解)

    1.1 基础概念 事务:保证我们多个数据库操作的原子性,多个操作要么都成功要么都不成功 事务ACID原则 A(Atomic)原子性 :构成事务的所有操作,要么都执行完成,要么全部不执行,不可能出现部分成功部分失 败的情况。 C(Consistency)一致性 :在事务执行前后,数据库的一

    2024年04月15日
    浏览(48)
  • SpringCloud+Nacos集成Seata-1.7.0分布式事务

    Seata是一个比较成熟的分布式事务工具,非常好用,主流的的一套,网上大多都是1.4版本,以及不完整了,鄙人也是找了好久才找到有个1.7版本的详细教程(放在最后面了,毕竟是别人的技术,这里就当记录一下自己的解决方案) 首先我没去github下载相对应的seata,网址放下

    2024年02月11日
    浏览(39)
  • 银河麒麟高级服务器操作系统V10下载安装及安装docker

    银河麒麟操作系统v10是中国电子研发的操作系统,该系统充分适应5G时代需求,打通手机、平板电脑、PC等,实现多端融合。 x86/兆芯/海光 Kylin-Server-10-SP2-x86-Release-Build09-20210524.iso 链接:https://pan.baidu.com/s/16sa8sumcJzXI95ip9gwptg 提取码:wxyu arm64/飞腾/鲲鹏 Kylin-Server-10-SP2-aarch64-Rel

    2024年01月16日
    浏览(84)
  • 【Seata】00 - Seata Server 部署(Windows、Docker 基于 Jpom)

    上篇文章上来就是先从事务模式入手,使用 seata-server 也是直接用 GitHub 上下载的 zip 解压后的脚本运行的,结果也没有好好地说明一下关于 seata-server 的部署,因此这篇文章先来补充一下部署的两种方式。 Seata 部署指南 Jpom - 离线安装实践 Seata : V1.7.0 Jpom : V2.10.43 这种方式

    2024年02月10日
    浏览(33)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包