分布式事务篇-2.1 阿里云轻量服务器--Docker--部署Seata

这篇具有很好参考价值的文章主要介绍了分布式事务篇-2.1 阿里云轻量服务器--Docker--部署Seata。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。


前言

本文介绍基于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

分布式事务篇-2.1 阿里云轻量服务器--Docker--部署Seata,Docker,分布式,阿里云,服务器

# 创建文件夹
# 配置文件
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

分布式事务篇-2.1 阿里云轻量服务器--Docker--部署Seata,Docker,分布式,阿里云,服务器
拷贝完毕删除容器:

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文件:
    分布式事务篇-2.1 阿里云轻量服务器--Docker--部署Seata,Docker,分布式,阿里云,服务器

  • 文件内容:

registry {
  # file 、nacos 、eureka、redis、zk、consul、etcd3、sofa
  type = "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、etcd3
  type = "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及以上)文章来源地址https://www.toymoban.com/news/detail-672593.html

到了这里,关于分布式事务篇-2.1 阿里云轻量服务器--Docker--部署Seata的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

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

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

相关文章

  • 微服务中间件--分布式事务

    1) CAP定理 分布式系统有三个指标: Consistency(一致性): 用户访问分布式系统中的任意节点,得到的数据必须一致 Availability(可用性): 用户访问集群中的任意健康节点,必须能得到响应,而不是超时或拒绝 Partition tolerance (分区容错性) Partition(分区): 因为网络故障或其它

    2024年02月12日
    浏览(45)
  • 08-微服务Seata分布式事务使用

    一、分布式事务简介 事务ACID: A(Atomic):原子性,构成事务的所有操作,要么都执行完成,要么全部不执行,不可能出现部分成功部分失 败的情况。 C(Consistency):一致性,在事务执行前后,数据库的一致性约束没有被破坏。比如:张三向李四转100元, 转账前和转账后的

    2024年01月24日
    浏览(50)
  • 【springcloud微微服务】分布式事务框架Seata使用详解

    目录 一、前言 二、事务简介 2.1 原子性 2.2 一致性 2.3 隔离性 2.4 持久性

    2023年04月26日
    浏览(42)
  • 微服务13-Seata的四种分布式事务模式

    XA模式分为两种情况 : 提交成功: 提交失败: 具有强一致性seata相当于是在RM上做了一层封装; XA模式 优点 : 1.事务的强一致性,只要有失败的,TC事务协调者就会发送信息让RM回滚——满足ACID原则 2.没有代码侵入,常用数据库都支持 缺点 : 1.第一阶段就要锁定数据库资源

    2024年02月07日
    浏览(43)
  • 【SpringCloud】微服务保护(Sentinel)和分布式事务(Seata)

    建议学完该系列前篇 【SpringCloud】商城项目拆分微服务各个组件学习 然后再来看本文 然后学习 【RabbitMQ】交换机、队列、可靠性保证和延迟消息 在微服务远程调用的过程中,还存在几个问题需要解决。 首先是业务健壮性问题: 例如在之前的查询购物车列表业务中,购物车

    2024年01月25日
    浏览(56)
  • JAVA微服务分布式事务的几种实现方式

    一致性(Consistency) :在分布式系统中所有的数据备份,在同一时刻都保持一致状态,如无法保证状态一致,直接返回错误; 可用性(Availability):在集群中一部分节点故障,也能保证客户端访问系统并得到正确响应,允许一定时间内数据状态不一致; 分区容错性(Partiti

    2024年02月12日
    浏览(51)
  • Java微服务分布式事务框架seata的TCC模式

    🌹作者主页:青花锁 🌹简介:Java领域优质创作者🏆、Java微服务架构公号作者😄 🌹简历模板、学习资料、面试题库、技术互助 🌹文末获取联系方式 📝 专栏 描述 Java项目实战 介绍Java组件安装、使用;手写框架等 Aws服务器实战 Aws Linux服务器上操作nginx、git、JDK、Vue Jav

    2024年03月23日
    浏览(45)
  • 若依微服务 + seata1.5.2版本分布式事务(安装配置nacos+部署)

    若依官方使用的1.4.0版本seata,版本较低配置相对更麻烦一些 一、seata服务端下载,下载方式介绍两种入口,如下: 1、找到对应版本,下载 binary 即可。 下载包名为:seata-server-1.5.2.zip 2. github上下载   Releases · seata/seata · GitHub  找到对应的1.5.2版本,每个版本下都有一个缩放

    2024年02月09日
    浏览(51)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包