分布式事务篇-2.1 阿里云轻量服务器--Docker--部署Seata
文章目录
- 前言
- 一、Seata 介绍
- 二、Docker 部署:
- 2.1.拉取镜像:
- 2.2.运行镜像:
- 2.3.拷贝配置文件:
- 2.4.部署:
- 2.5.参数解释:
- 2.5.1 端口:
- 2.5.2 SEATA_IP:
- 2.5.3 SEATA_PORT:
- 2.5.4 STORE_MODE:
- 2.5.5 SERVER_NODE:
- 2.5.6 SEATA_ENV:
- 2.5.7 SEATA_CONFIG_NAME:
- 总结
- 参考:
前言
本文介绍基于Seata 解决分布式事务,Seata 是一个服务所有首先需要对其进行部署。
一、Seata 介绍
Seata 是一款开源的分布式事务解决方案,致力于提供高性能和简单易用的分布式事务服务。Seata 将为用户提供了 AT、TCC、SAGA 和 XA 事务模式,为用户打造一站式的分布式解决方案。
二、Docker 部署:
2.1.拉取镜像:
docker pull seataio/seata-server:1.5.0
2.2.运行镜像:
docker run -d --name seata-server -p 8091:8091 seataio/seata-server:1.5.0
2.3.拷贝配置文件:
# 进入容器
docker exec -it seata-server sh

# 创建文件夹
# 配置文件
mkdir -p /root/seata/config
# 日志文件
mkdir -p /root/seata/logs
# 事务存储文件(file 存储模式使用)
mkdir -p /root/seata/sessionStore
# cp
docker cp seata-server:/seata-server/resources /root/seata/config

拷贝完毕删除容器:
docker stop seata-server
docker rm seata-server
2.4.部署:
docker run -d --name seata-server1.5 \
--privileged=true \-p 8091:8091 \-p 7091:7091 \-v /root/seata/config/resources:/seata-server/resources \
-v /root/seata/sessionStore:/seata-server/sessionStore \
-v /root/seata/logs:/root/logs/seata \
-e SEATA_IP=[公网ip] \
-e SEATA_PORT=8091 \seataio/seata-server:1.5.0
2.5.参数解释:
2.5.1 端口:
-
8091 端口是用来提供 seata-server 的事务管理服务的端口。其他应用程序将通过该端口与 seata-server 进行通信,将事务的操作请求发送到 seata-server 并接收事务处理结果。应用程序需要配置与 seata-server 通信的 IP 地址、端口号和事务组 ID。
-
7091 端口是用来向 seata-server 注册 seata-client 的端口。在应用程序启动时,seata-client 将会注册自己的信息到 seata-server,包括事务分组、数据源、事务日志存储等信息。seata-server 会使用该端口接收 seata-client 的注册请求。
需要注意的是,seata-server 的端口号可以根据实际需求进行配置和更改,上述的8091和7091端口号只是默认值,可以在 seata 的配置文件中进行修改。
2.5.2 SEATA_IP:
可选, 指定seata-server启动的IP, 该IP用于向注册中心注册时使用, 如eureka等
2.5.3 SEATA_PORT:
可选, 指定seata-server启动的端口, 默认为 8091,SEATA_PORT 是 seata-server 的环境变量,用于指定 seata-server 监听的端口号。
当启动 seata-server 容器时,可以通过设置 SEATA_PORT 环境变量来指定 seata-server 使用的端口号。例如,可以使用以下命令来启动 seata-server 容器并将 SEATA_PORT 设置为 8090:
docker run --name seata-server -p 8090:8090 -e SEATA_PORT=8090 -d seataio/seata-server
这样,seata-server 将会在容器内监听端口号 8090。在实际应用中,你可以根据需要将 SEATA_PORT 环境变量设置成你所需的端口号。
2.5.4 STORE_MODE:
可选, 指定seata-server的事务日志存储方式, 支持db ,file,redis(Seata-Server 1.3及以上版本支持), 默认是 file;
2.5.5 SERVER_NODE:
可选, 用于指定seata-server节点ID, 如 1,2,3…, 默认为 根据ip生成;
在 Seata 1.5 版本中,SERVER_NODE 是一个环境变量,用于指定 Seata Client 连接的 Seata Server 节点。
当你的应用程序作为 Seata Client 运行时,它需要知道要连接的 Seata Server 的主机和端口。通过设置 SERVER_NODE 环境变量,可以告诉 Seata Client 要连接的 Seata Server 节点信息。
SERVER_NODE 的格式为 {host}:{port},其中 {host} 是 Seata Server 所在的主机名或 IP 地址,{port} 是 Seata Server 监听的端口号。
以下是一个示例的启动命令,演示如何使用 SERVER_NODE 环境变量进行配置:
java -jar your-application.jar -DSERVER_NODE=127.0.0.1:8091
在上述命令中,SERVER_NODE 被设置为 127.0.0.1:8091,表示 Seata Client 要连接的 Seata Server 运行在本地的 8091 端口。
要注意的是,SERVER_NODE 的值应该与实际运行的 Seata Server 的主机和端口相匹配,以便 Seata Client 能够正确连接到 Seata Server。
2.5.6 SEATA_ENV:
可选, 指定 seata-server 运行环境, 如 dev, test 等, 服务启动时会使用 registry-dev.conf 这样的配置。
2.5.7 SEATA_CONFIG_NAME:
可选, 指定配置文件位置, 如 file:/root/registry, 将会加载 /root/registry.conf 作为配置文件,如果需要同时指定 file.conf文件,需要将registry.conf的config.file.name的值改为类似file:/root/file.conf:
-
创建conf 文件夹及 registry.conf文件:

-
文件内容:
registry {# file 、nacos 、eureka、redis、zk、consul、etcd3、sofatype = "nacos"nacos {application = "seata-server"serverAddr = "192.168.2.6:8001"group = "SEATA_GROUP"namespace = ""cluster = "default"username = "nacos"password = "nacos"}
}config {# file、nacos 、apollo、zk、consul、etcd3type = "nacos"nacos {serverAddr = "192.168.2.6:8001"namespace = ""group = "SEATA_GROUP"username = "nacos"password = "nacos"}
}
- 部署时指定 SEATA_CONFIG_NAME:
docker run -d --name seata-server1.5 \-p 8091:8091 \-p 7091:7091 \-v /root/seata/config:/seata-server/resources \
-e SEATA_IP=localhost \-e SEATA_PORT=8091 \
-e SEATA_CONFIG_NAME=file:/root/seata/conf/registry \seataio/seata-server:1.5.0
总结
以上内容通过Docker 工具在阿里云部署分布式服务Seata,并且已file 存储事务数,注册和配置中心都以file 模式进行。
参考:
使用 Docker 部署 Seata Server (1.5.0及以上)
相关文章:
分布式事务篇-2.1 阿里云轻量服务器--Docker--部署Seata
文章目录 前言一、Seata 介绍二、Docker 部署:2.1.拉取镜像:2.2.运行镜像:2.3.拷贝配置文件:2.4.部署:2.5.参数解释:2.5.1 端口:2.5.2 SEATA_IP:2.5.3 SEATA_PORT:2.5.4 …...
C语言这么没用??
今日话题,C语言真的这么不堪吗?最近我兄弟向我倾诉,他在几天前受到老板的责骂,原因是他只懂C语言编程,无法达到老板的期望。其实不是C语言不堪,而是嵌入式领域复杂性多种多样,需要灵活的解决方案…...
Docker运维篇
Docker运维篇 Docker 设置自启Docker 指定容器设置自启重启linux 计算机网络常见错误汇总centos 7 Docker容器启动报WARNING: IPv4 forwarding is disabled. Networking will not work Docker 设置自启 # 重启docker sudo systemctl enable docker# 设置开机自启 systemctl e…...
【数学建模】清风数模正课7 多元线性回归模型
多元线性回归分析 回归分析就是,通过研究自变量X和因变量Y的相关关系,来解释Y的形成机制,从而达到通过X去预测Y的目的。 所以回归分析需要完成三个使命,首先是识别重要变量,其次是判断正负相关,最后是估计…...
文心一言 VS 讯飞星火 VS chatgpt (83)-- 算法导论8.1 4题
四、用go语言,假设现有一个包含n个元素的待排序序列。该序列由 n/k 个子序列组成,每个子序列包含k个元素。一个给定子序列中的每个元素都小于其后继子序列中的所有元素,且大于其前驱子序列中的每个元素。因此,对于这个长度为 n 的…...
温故知新之:代理模式,静态代理和动态代理(JDK动态代理)
0、前言 代理模式可以在不修改被代理对象的基础上,通过扩展代理类,进行一些功能的附加与增强。 1、静态代理 静态代理是一种代理模式的实现方式,它在编译期间就已经确定了代理对象,需要为每一个被代理对象创建一个代理类。静态代…...
软件工程(十二) 设计模式之创建型模式
我们传统的23种设置模式如下 创建型模式:用于创建对象 工厂方法(Factory Method) 模式抽象工厂(Abstract Factory) 模式原型(Protptype) 模式单例(Singleton) 模式构建器模式结构型模式:建立更大的结构 适配器(Adapter)模式桥接(Bridge)模式组合(Composite)模式装饰(D…...
使用docker、docker-compose部署微服务
使用docker、docker-compose部署微服务 一、使用docker部署1、准备2、上传jar包3、编写dockerfile文件3、构建镜像和容器 二、使用docker-compose部署1、准备服务的jar包和dockerfile文件2、编写docker-compose.yml文件3、docker-compose常用命令(1)、前…...
【Axure高保真原型】中继器网格图片拖动摆放
今天和大家分享中继器网格图片拖动摆放的原型模板,我们可以通过鼠标拖动来移动图片,拖动过程其他图标会根据图片拖动自动排列,松开鼠标是图片停放在指定位置,其他图标自动排列。那这个模板是用中继器制作的,所以使用也…...
《基于 Vue 组件库 的 Webpack5 配置》4. 压缩 CSS 和 js 文件
压缩 CSS 使用 webpack 插件 css-minimizer-webpack-plugin,需要额外安装 npm i css-minimizer-webpack-pluginlatest -D;压缩 js 使用 webpack 自带插件 terser-webpack-plugin,无需额外安装;package.json 的配置如下 const Css…...
electron globalShortcut 快捷键,在焦点移到其他软件上时,调用快捷键报错
用 electron 开发软件,在设置了 globalShortcut 快捷键后,在当前开发的软件上调用快捷键正常,但是当焦点不在当前软件时,在使用快捷键,好些时候会报错。大概率与系统快捷键产生冲突或者快键键控制的回调里获取的内容&a…...
【PHP】PHP条件控制
在PHP中,条件控制语句用于根据条件来执行不同的代码块。以下是一些常见的条件控制语句: if语句: if ($condition) {// 如果条件为真,执行此代码块 }if-else语句: if ($condition) {// 如果条件为真,执行…...
超干货!Linux中断响应流程
为了提高外部事件处理的实时性,现在的处理器几乎无一例外都含有中断控制器,外设也大都带有中断触发的功能。为了能支持这一特性,Linux系统中设计了一个中断子系统来管理系统中的中断。 那么你知道Linux系统中的中断响应是怎样的流程吗&#…...
统计学补充概念-13-逻辑回归
概念 逻辑回归(Logistic Regression)实际上是一种用于解决分类问题的统计学习方法,尽管其名称中带有"回归"一词,但它主要用于处理分类任务。逻辑回归用于预测一个事件发生的概率,并将其映射到一个特定的输出…...
java八股文面试[多线程]——什么是线程安全
对线程安全的理解 总结:一个进程内的多个线程同时访问堆内存。 知识来源: 【并发与线程】对线程安全的理解_哔哩哔哩_bilibili...
Redis 介绍
一.Redis 介绍 Redis 和 Memcached 都是非关系型数据库也称为 NoSQL 数据库,MySQL、 Mariadb、SQL Server、PostgreSQL、Oracle 数据库属于关系型数据 关系型数据库(RDBMS, Relational Database Management System)。 1.1 Redis 介绍 Redis(Remote Dictionary Se…...
冠达管理:核污染防治板块热度不减,建工修复等多只个股涨停
日本福岛核污染水排海引发商场担忧,核污染防治概念股表现持续活跃。 8月28日,建工修复(300958.SZ)、中电环保(300172.SZ)、捷强配备(300875.SZ)20CM强势涨停,中广核技&a…...
Unity关键概念
Unity是一款跨平台的游戏引擎和开发工具,用于创建2D和3D游戏、交互式内容和应用程序。它提供了一个强大的开发环境,使开发者能够轻松地设计、开发和部署高质量的游戏和应用程序。 以下是Unity的几个关键概念: 游戏对象(Game Obj…...
JDK配置环境变量(超详细)
先安装JDK再配置环境变量! JDK可以简单理解为就是java,JDK包含了java项目运行所需要的运行环境JRE,编译运行java程序的java虚拟机JVM。 jdk-8u201-windows-x64安装包(jdk1.8): 提取码:19xv …...
抢先体验|乐鑫推出 ESP32-S3-BOX-3 新一代开源 AIoT 开发套件
乐鑫科技 (688018.SH) 非常高兴地宣布其开发套件阵容的最新成员 ESP32-S3-BOX-3。这款完全开源的 AIoT 应用开发套件搭载乐鑫高性能 ESP32-S3 AI SoC,旨在突破传统开发板,成为新一代开发工具的引领者。 【乐鑫新品抢先体验】ESP32-S3-BOX-3 新一代开源 A…...
TDengine 快速体验(Docker 镜像方式)
简介 TDengine 可以通过安装包、Docker 镜像 及云服务快速体验 TDengine 的功能,本节首先介绍如何通过 Docker 快速体验 TDengine,然后介绍如何在 Docker 环境下体验 TDengine 的写入和查询功能。如果你不熟悉 Docker,请使用 安装包的方式快…...
MMaDA: Multimodal Large Diffusion Language Models
CODE : https://github.com/Gen-Verse/MMaDA Abstract 我们介绍了一种新型的多模态扩散基础模型MMaDA,它被设计用于在文本推理、多模态理解和文本到图像生成等不同领域实现卓越的性能。该方法的特点是三个关键创新:(i) MMaDA采用统一的扩散架构…...
《C++ 模板》
目录 函数模板 类模板 非类型模板参数 模板特化 函数模板特化 类模板的特化 模板,就像一个模具,里面可以将不同类型的材料做成一个形状,其分为函数模板和类模板。 函数模板 函数模板可以简化函数重载的代码。格式:templa…...
Linux 内存管理实战精讲:核心原理与面试常考点全解析
Linux 内存管理实战精讲:核心原理与面试常考点全解析 Linux 内核内存管理是系统设计中最复杂但也最核心的模块之一。它不仅支撑着虚拟内存机制、物理内存分配、进程隔离与资源复用,还直接决定系统运行的性能与稳定性。无论你是嵌入式开发者、内核调试工…...
Spring AI Chat Memory 实战指南:Local 与 JDBC 存储集成
一个面向 Java 开发者的 Sring-Ai 示例工程项目,该项目是一个 Spring AI 快速入门的样例工程项目,旨在通过一些小的案例展示 Spring AI 框架的核心功能和使用方法。 项目采用模块化设计,每个模块都专注于特定的功能领域,便于学习和…...
Axure 下拉框联动
实现选省、选完省之后选对应省份下的市区...
TJCTF 2025
还以为是天津的。这个比较容易,虽然绕了点弯,可还是把CP AK了,不过我会的别人也会,还是没啥名次。记录一下吧。 Crypto bacon-bits with open(flag.txt) as f: flag f.read().strip() with open(text.txt) as t: text t.read…...
CSS3相关知识点
CSS3相关知识点 CSS3私有前缀私有前缀私有前缀存在的意义常见浏览器的私有前缀 CSS3基本语法CSS3 新增长度单位CSS3 新增颜色设置方式CSS3 新增选择器CSS3 新增盒模型相关属性box-sizing 怪异盒模型resize调整盒子大小box-shadow 盒子阴影opacity 不透明度 CSS3 新增背景属性ba…...
跨平台商品数据接口的标准化与规范化发展路径:淘宝京东拼多多的最新实践
在电商行业蓬勃发展的当下,多平台运营已成为众多商家的必然选择。然而,不同电商平台在商品数据接口方面存在差异,导致商家在跨平台运营时面临诸多挑战,如数据对接困难、运营效率低下、用户体验不一致等。跨平台商品数据接口的标准…...
结构化文件管理实战:实现目录自动创建与归类
手动操作容易因疲劳或疏忽导致命名错误、路径混乱等问题,进而引发后续程序异常。使用工具进行标准化操作,能有效降低出错概率。 需要快速整理大量文件的技术用户而言,这款工具提供了一种轻便高效的解决方案。程序体积仅有 156KB,…...
