阿里巴巴自从跟SpringCloud共同发起创建微服务开源社区时,开启了SpringCloud Alibaba分支,而且在生态内提供了一款适用于分布式应用程序(DubboSpringCloud等)的事务框架Seata,该框架经过多个大版本的发布,已经支持MySQLOracle这两种数据库事务回滚(Rollback)以及提交(Commit)控制,每次发版都会修复一些用户反馈的Issue以及添加一些新特性。

安装Seata Server

Seata目前在github托管开源源代码,源码地址:https://github.com/seata/seata

Seata每次发版都会提供Server在不同系统下的执行脚本,可以在Linux/Mac/Windows系统环境下直接执行脚本来启动。

下载Seata Server

我们通过githubreleases界面下载seata最新发布的server编译后的启动程序,下载地址:https://github.com/seata/seata/releases

根据系统运行环境下载不同的压缩文件,Mac/Linux可以选择下载seata-server-xxx.tar.gzWindows可以选择下载seata-server-xxx.zip

解压Seata Server

Mac/Linux系统下我们通过以下命令来解压tar.gz压缩文件:

1
2
3
4
~ tar -xvf seata-server-xxx.tar.gz
~ cd seata
~ ls
bin  conf  lib  LICENSE

解压完成后我们得到了几个文件夹。

  • bin

    存放各个系统的seata server启动脚本

  • conf

    存在seata server启动时所需要的配置信息、数据库模式下所需要的建表语句

  • lib

    运行seata server所需要的依赖包列表

配置Seata Server

seata server所有的配置都在conf文件夹内,该文件夹内有两个文件我们必须要详细介绍下。

seata server默认使用file(文件方式)进行存储事务日志事务运行信息,我们可以通过-m db脚本参数的形式来指定,目前仅支持filedb这两种方式。

  • file.conf

    该文件用于配置存储方式透传事务信息的NIO等信息,默认对应registry.conf文件内的file方式配置。

  • registry.conf

    seata server核心配置文件,可以通过该文件配置服务注册方式配置读取方式

    注册方式目前支持file 、nacos 、eureka、redis、zk、consul、etcd3、sofa等方式,默认为file,对应读取file.conf内的注册方式信息。

    读取配置信息的方式支持file、nacos 、apollo、zk、consul、etcd3等方式,默认为file,对应读取file.conf文件内的配置。

启动Seata Server

启动seata server的脚本位于bin文件内,Linux/Mac环境使用seata-server.sh脚本启动,Windows环境使用seata-server.bat脚本启动。

Linux/Mac启动方式示例如下所示:

1
nohup sh seata-server.sh -p 8091 -h 127.0.0.1 -m file &> seata.log &

通过nohup命令让seata server在系统后台运行。

脚本参数:

  • -p

    指定启动seata server的端口号。

  • -h

    指定seata server所绑定的主机,这里配置要注意指定的主机IP要与业务服务内的配置文件保持一致,如:-h 192.168.1.10,业务服务配置文件内应该配置192.168.1.10,即使在同一台主机上也要保持一致。

  • -m

    事务日志、事务执行信息存储的方式,目前支持file(文件方式)、db(数据库方式,建表语句请查看config/db_store.sqlconfig/db_undo_log.sql

查看启动日志

执行完启动脚本后要查看日志来确认是否启动成功,使用如下命令:

1
2
3
~ tail -1000f seata.log
.....
2019-10-10 14:33:51.340 INFO [main]io.seata.core.rpc.netty.AbstractRpcRemotingServer.start:156 -Server started ...

当我们看到-Server started时并未发现其他错误信息,我们的seata server已经启动成功。

阿里巴巴分布式事务利器Seata环境准备相关推荐

  1. 老板现在喊我大哥,原因是我用阿里分布式事务框架Seata解决了长久以来困扰公司的分布式事务问题

    大家好,我是曹尼玛 从大学毕业5年,一直努力学习,努力工作,追求新技术,不保守. 上个月我来到一家新公司上班,月薪20K,这家公司老板人很好,对员工很关爱,公司氛围不错,同事们也努力把公司项目搞搞好. ...

  2. druid seata 配置_分布式事务解决方案——Seata使用

    在微服务开发过程中分布式事务一直是一个比较重要的问题,之前对于分布式事务的解决方法一般会通过MQ的最终一致性来解决,尤其是RocketMQ的事务消息,感兴趣的可以看Spring Boot整合Rocke ...

  3. 详解阿里开源分布式事务框架Seata

    Seata发展历史 笔者于2014年开始着手解决阿里巴巴集团内部业务的分布式事务问题,从0到1研发一个支持非侵入模式(内部称之为AT模式,即自动模式)和TCC模式(内部称之为MT模式,即手动模式)的分 ...

  4. eureka server配置_springcloud+eureka整合分布式事务中间件seata

    今天继续给大家分享一下阿里的分布式事务中间件seata的使用,跟上篇文章<springboot多数据源整合分布式事务中间件seata>不一样的是,上篇文章是单服务绑定多数据源的分布式情况, ...

  5. 分布式事务解决方案Seata

    一.Seata 简介 Seata 是 阿里巴巴2019年开源的分布式事务解决方案,致力于在微服务架构下提供高性能和简单易用的分布式事务服务.在 Seata 开源之前,Seata 对应的内部版本在阿里内 ...

  6. 开发者说:深度剖析开源分布式事务方案 Seata 的事务协调器

    开源共建,不仅体现在共同贡献代码,也包括开发者们根据自己的实践,通过文字的方式,向外表达自己的观点.收获.踩过的坑以及相应的解决方案. 本期开始,我们将推出「开发者说」的专栏,发布来自社区开发者自己写 ...

  7. 尚硅谷谷粒商城第六天 本地事务、分布式事务及seata

    1. 本地事务 商品新增功能非常复杂,商品管理微服务在service层中调用保存spu和sku相关的方法,为了保证数据的一致性,必然会使用事务. 在JavaEE企业级开发的应用领域,为了保证数据的完整 ...

  8. 使用Seata解决分布式事务以及Seata的安装、配置和使用

    目录 事务的介绍 什么是本地事务? 分布式事务 分布式事务解决方案之seata Seata介绍 Seata是什么 Seata的分布式事务解决方案 Seata的核心组件 AT模式的工作流程 一阶段 二阶 ...

  9. 分布式事务——分布式事务简介、分布式事务框架 Seata(AT模式、Tcc模式、Tcc Vs AT)、分布式事务—MQ

    分布式事务--分布式事务简介.分布式事务框架 Seata(AT模式.Tcc模式.Tcc Vs AT).分布式事务--MQ 一.分布式事务简介 如果不是分布式环境的话一般不会接触到这种,一旦是微服务这种 ...

最新文章

  1. qchart画完以后删除_Unity2019基础教程:TileMap搭建像素画场景关卡
  2. python3.7.4-Python3.7.4入门-3函数
  3. setwindowshookex回调函数不执行_不一样的“悬停几秒后执行函数”?一个开源工具函数,请注意查收...
  4. 【Tools】python环境操作笔记
  5. html登录界面_php实现登录功能
  6. activemq 实例_在一台计算机上运行多个ActiveMQ实例
  7. 比反射更快:委托 第2部分
  8. 操,escape sequence的输入方法我以前找过一次,这次又忘了,又找了一次,记下来,...
  9. 对职场橡皮人Say No(转)
  10. ncbi查找目的基因序列_献给初学者:如何使用 NCBI 查找基因序列、mRNA、Promoter...
  11. Vue Canvas 实现电子签名 手写板
  12. 【算法学习】1.渐进复杂性
  13. 论项目管理中当面沟通的重要性
  14. TextView实现左边图片右边文字或 上面图片下面文字
  15. 内核tty框架_串口_tty_shell的关系
  16. cmd命令重启服务器
  17. 关于Inter CPU的一些认识
  18. Robotium 介绍
  19. c语言中的.c文件和.h文件
  20. 一些句子【未完待续】

热门文章

  1. C学习杂记(二)笔试题:不使用任何中间变量如何将a、b的值进行交换
  2. Win32ASM学习[23]:RadASM快捷键
  3. 安装linux后win7引导程序,安装Windows7+Ubuntu+CentOS三系统之后的引导问题
  4. protect 继承_(转)public、protect、private继承方式 C++
  5. 使用ffmpeg的filter处理yuv数据包括split filter(分流)、crop filter(裁剪)、vflip filter(垂直向上的翻转)、overlay filter(合成)
  6. 代换-置换网络(SP网络)
  7. 【莫队】区间众数(Codeforces Round #716 (Div. 2) D)
  8. 数据挖掘肿瘤预测_Nature Medicine封面文章:利用单核细胞数量预测及评估肿瘤免疫治疗效果...
  9. oracle正则匹配全部,sql – 返回Oracle中正则表达式的所有匹配项
  10. 对pthread_create未定义的引用