Seata是什么

这里引用官方解释

Seata 是一款开源的分布式事务解决方案,致力于提供高性能和简单易用的分布式事务服务。Seata 将为用户提供了 AT、TCC、SAGA 和 XA 事务模式,为用户打造一站式的分布式解决方案。

环境搭建

Nacos + Seata

Nacos

使用Nacos作为配置中心和注册中心

Seata支持多种配置方式(nacos、consul、apollo、etcd、zookeep、file),详看Seata官方文档

安装(Docker方式,其他方式见Nacos官方文档):

  1. 导入Nacos所需的表

    去github下载安装包,一般选最新的就行,地址

    解压进入conf目录,将nacos-mysql.sql导入数据库

  2. Docker执行

docker run \
--name nacos \
-d \
-p 8848:8848 -p 9848:9848 -p 9555:9555 \
--privileged=true \
--restart=always \
-e JVM_XMS=256m \
-e JVM_XMX=256m \
-e MODE=standalone \
-e PREFER_HOST_MODE=hostname \
-e SPRING_DATASOURCE_PLATFORM=mysql \
-e MYSQL_SERVICE_HOST=127.0.0.1 \
-e MYSQL_SERVICE_PORT=3306 \
-e MYSQL_SERVICE_USER=wangguyu \
-e MYSQL_SERVICE_PASSWORD=wangguyu \
-e MYSQL_SERVICE_DB_NAME=nacos \
nacos/nacos-server

参数解释:

  • MODE:单机模式
  • SPRING_DATASOURCE_PLATFORM:mysql支持
  • MYSQL_SERVICE_HOST:mysql地址
  • MYSQL_SERVICE_PORT:mysql端口
  • MYSQL_SERVICE_USER:mysql用户名
  • MYSQL_SERVICE_PASSWORD:mysql密码
  • MYSQL_SERVICE_DB_NAME:mysql数据库名

Seata

Seata需要提供服务端给客户端连接,有两种安装方式:

此处使用官方软件包安装:

  1. 解压安装包,修改nacos地址

    进入conf目录,参考application.example.yml修改配置文件,连接nacos

  2. 命令启动

    进入bin目录,执行以下命令

    sh seata-server.sh -p 8091 -h 127.0.0.1 -m file

    参数说明:

    -p:监听端口

    -h:seata在注册中心显示的地址(内网访问可忽略,如果seata服务端在外网,客户端在内网,切记配置此参数为公网地址)

    -m:存储模式(支持file、db)

    验证

    登录nacos控制台,在菜单 服务管理→ 服务列表 中,看到seata服务注册成功。

    详情页的ip显示正常,则证明seata服务启动成功。

    当前时间2022年7月4日,Seata在github的releases页最新版本是v1.5.1

    此版本有bug,seata-server.sh命令使用-h参数无效

    详见bugfix: fix missing command line args

    修复了bug,但是半个月了都不发布release,牛逼,浪费了我几个小时。

    修复方法:

    按下图修改bin/seata-server.sh文件(红框部分)

使用

参考官方demo

因为直接使用的官方demo代码,只是修改了配置,此处就不多赘述。

注意事项

我的环境是Nacos和Seata服务端都放在云服务器,所以启动Seata服务端的时候,要使用-h参数指定外网ip,否则Seata客户端无法连接服务端

参考资料

Nacos文档

Docker Hub(Nacos)

Seata文档

Spring-cloud-alibaba官方demo

Seata-初体验以及避坑的更多相关文章

  1. 微信小程序初体验遇到的坑

    今天,2017年1月9日凌晨,微信小程序如约上线.2007年1月9日,整整10年前的今天,苹果的iPhone手机正式问世! 经不起新技术的诱惑了,想试着开发一下看看.刚开始遇到很多坑,在这里记录一下, ...

  2. Spring Cloud Alibaba 初体验(六) Seata 及结合 MyBatis 与 MyBatis-Plus 的使用

    一.下载与运行 本文使用 Seata 1.1.0:https://github.com/seata/seata/releases Windows 环境下双击 bin/seata-server.bat ...

  3. win7升win10,初体验

    跟宿舍哥们聊着聊着,聊到最近发布正式版的win10,听网上各种评论,吐槽,撒花的,想想,倒不如自己升级一下看看,反正不喜欢还可以还原.于是就开始了win10的初体验了,像之前装黑苹果双系统一样的兴奋, ...

  4. 【尝新】微信小程序初体验

    文档地址:https://mp.weixin.qq.com/debug/wxadoc/dev/?t=1474644089434 根据文档地址中下载微信开发工具后,按照文档指引可以创建一个快速体验的小d ...

  5. python--爬虫入门(七)urllib库初体验以及中文编码问题的探讨

    python系列均基于python3.4环境 ---------@_@? --------------------------------------------------------------- ...

  6. python窗体——pyqt初体验

    连续两周留作业要写ftp的作业,从第一周就想实现一个窗体版本的,但是时间实在太短,qt零基础选手表示压力很大,幸好又延长了一周时间,所以也就有了今天这篇文章...只是为了介绍一些速成的方法,还有初学者 ...

  7. 【阿里云产品公测】消息队列服务MQS java SDK 机器人应用初体验

    [阿里云产品公测]消息队列服务MQS java SDK 机器人应用初体验 作者:阿里云用户啊里新人   初体验 之 测评环境 由于MQS支持外网访问,因此我在本地做了一些简单测试(可能有些业余),之后 ...

  8. iOS AR技术初体验,使用EasyAR示例程序的小白指南

    QQ前两天的传递火炬,是我第一次直接接触到AR.(虽然之前听同事说过,因为他喜欢玩游戏,PS.3DS等等都玩过,这个技术最开始就是从这里出现的).所以感觉很有趣,就想自己也试着搞一下玩玩...下面是我 ...

  9. 双刃剑MongoDB的学习和避坑

    双刃剑MongoDB的学习和避坑 MongoDB 是一把双刃剑,它对数据结构的要求并不高.数据通过key-value的形式存储,而value的值可以是字符串,也可以是文档.所以我们在使用的过程中非常方 ...

随机推荐

  1. java、selenium、图片滑块验证,底部附本地可测试代码

    准备 本地Chrome版本对应WebDriver驱动:http://chromedriver.storage.googleapis.com/index.html maven包 <!-- sele ...

  2. Web安全学习笔记 XSS上

    Web安全学习笔记 XSS上 繁枝插云欣 --ICML8 XSS的分类和基本认识 XSS的危害 同源策略的基本认识 一.XSS的分类和基本认识 1. 简介 XSS全称为Cross Site Scrip ...

  3. ifconfig出现bash: ifconfig:command not found解决办法之解决连环问题

    Centos7中没有安装ifconfig命令的解决方法 在这之前,centos7最小化安装默认是不能联网的,首先必须切换到root用户,再解决网络问题 一.      切换到root用户 二.     ...

  4. opencv学习之边缘检测

    边缘检测 是图像处理 过程中经常会涉及到的一个环节.而在计算机视觉 和 机器学习领域,边缘检测 用于 特征提取 和 特征检测 效果也是特别明显.而 openCV 中进行边缘检测的 算法 真是五花八门, ...

  5. mybatis plus 增删改自动填充字段值

    说明 本文实现以下需求效果 创建数据时自动填充 createUserId 和 createTime 更新数据时自动填充 updateUserId 和 updateTime(每次修改都自动填充新的 up ...

  6. arts-week13

    Algorithm 992. Sort Array By Parity II - LeetCode Review https://tls.ulfheim.net/ HTTP协议图解 Tip linux ...

  7. C++从静态类型到单例模式

    目录 1. 概述 2. 详论 2.1. 静态类型 2.1.1. 静态方法成员 2.1.2. 静态数据成员 2.2. 单例模式 2.2.1. 实现 2.2.2. 问题 3. 参考 1. 概述 很多的知识 ...

  8. 「文化课 · 校园生活」街舞社演出 & 校园十佳歌手决赛

    女孩子跳舞很好看(流鼻血),男孩子跳舞很骚,跳的很有感觉.

  9. Golang 常见设计模式之单例模式

    之前我们已经看过了 Golang 常见设计模式中的装饰和选项模式,今天要看的是 Golang 设计模式里最简单的单例模式.单例模式的作用是确保无论对象被实例化多少次,全局都只有一个实例存在.根据这一特 ...

  10. django框架5

    内容概要 模板语法之过滤器(类似于内置函数) 模板语法之标签(类似于流程控制) 自定义过滤器.标签.inclusion_tag 模板的导入 模板的继承 注释语法补充 前期数据准备(测试环境搭建) al ...