iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > Python >LCN分布式事务解决方案详解
  • 852
分享到

LCN分布式事务解决方案详解

2024-04-02 19:04:59 852人浏览 安东尼

Python 官方文档:入门教程 => 点击学习

摘要

目录一、什么是分布式事务?二、lcn的实现思路2.1 本地执行的状态怎么提交给全局事务?2.2 本地事务的提交或回滚怎么实现?三、lcn的使用3.1 下载lcn-manager (全

一、什么是分布式事务?

在这里插入图片描述

在这里插入图片描述

二、lcn的实现思路

Lcn 的本质就是提供了一个全局的事务管理器
本地事务的提交还是回滚,由全局的事务管理器决定

在这里插入图片描述

在这里插入图片描述

2.1 本地执行的状态怎么提交给全局事务?

使用切面拦截本地事务的执行结果,使用tcp 发送给tx-manager

2.2 本地事务的提交或回滚怎么实现?

等待tx-manager通知自己

三、lcn的使用

3.1 下载lcn-manager (全局的事务管理器)

在这里插入图片描述

3.2 配置lcn-manager

配置eureka 并且配置Redis

在这里插入图片描述

在这里插入图片描述

Redis:

在这里插入图片描述

3.3 启动lcn

在这里插入图片描述

在这里插入图片描述

3.4 模拟转账服务

数据库

在这里插入图片描述

在这里插入图片描述

3.4.1 add-service

在这里插入图片描述

3.4.2 decr-service

在这里插入图片描述

3.5 2 个微服务都需要添加依赖


<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-actuator</artifactId>
		</dependency>
		<dependency>
			<groupId>com.codingapi</groupId>
			<artifactId>transaction-SpringCloud</artifactId>
			<version>${lcn.last.version}</version>
			<exclusions>
				<exclusion>
					<groupId>org.slf4j</groupId>
					<artifactId>*</artifactId>
				</exclusion>
			</exclusions>
		</dependency>
		<dependency>
			<groupId>com.codingapi</groupId>
			<artifactId>tx-plugins-db</artifactId>
			<version>${lcn.last.version}</version>
			<exclusions>
				<exclusion>
					<groupId>org.slf4j</groupId>
					<artifactId>*</artifactId>
				</exclusion>
			</exclusions>
		</dependency>
		<!-- 依据druid 来实现的拦截功能 -->
		<dependency>
			<groupId>com.alibaba</groupId>
			<artifactId>druid</artifactId>
			<version>1.0.19</version>
		</dependency>

3.6 需要自定义数据库的连接池

在2 个微服务的启动类或配置类里面都可以添加


@Bean
	public DataSource dataSource() {
		DruidDataSource dataSource = new DruidDataSource();
		dataSource.setUrl(env.getProperty("spring.datasource.url"));
		dataSource.setUsername(env.getProperty("spring.datasource.username"));//用户名
		dataSource.setPassword(env.getProperty("spring.datasource.passWord"));//密码
		dataSource.setInitialSize(10);
		dataSource.setMaxActive(50);
		dataSource.setMinIdle(0);
		dataSource.setMaxWait(60000);
		dataSource.setValidationQuery("SELECT 1");
		dataSource.setTestOnBorrow(false);
		dataSource.setTestWhileIdle(true);
		dataSource.setPoolPreparedStatements(false);
		return dataSource;
	}

3.7 使用

3.7.1 事务的发起者

转账:

在这里插入图片描述

事务的参与者
减少钱:

在这里插入图片描述

加钱:

在这里插入图片描述

3.7.2 添加配置文件

在这里插入图片描述

在这里插入图片描述

3.8 启动2 个微服务

在这里插入图片描述

3.9 测试转账服务

在这里插入图片描述

在这里插入图片描述

到此这篇关于LCN分布式事务解决方案详解的文章就介绍到这了,更多相关LCN分布式事务解决内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: LCN分布式事务解决方案详解

本文链接: https://www.lsjlt.com/news/132830.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • LCN分布式事务解决方案详解
    目录一、什么是分布式事务?二、lcn的实现思路2.1 本地执行的状态怎么提交给全局事务?2.2 本地事务的提交或回滚怎么实现?三、lcn的使用3.1 下载lcn-manager (全...
    99+
    2024-04-02
  • 详解Java分布式事务的 6 种解决方案
    介绍 在分布式系统、微服务架构大行其道的今天,服务间互相调用出现失败已经成为常态。如何处理异常,如何保证数据一致性,成为微服务设计过程中,绕不开的一个难题。 在不同的业务场景下,解决...
    99+
    2024-04-02
  • Java详细分析LCN框架分布式事务
    目录2PC两阶段提交协议LCNLCN基本实现原理搭建全局协调者使用LCN解决分布式事务问题源码分析2PC两阶段提交协议 分布式事务通常采用2PC协议,全称Two Phase Comm...
    99+
    2024-04-02
  • java分布式事务解决方案是什么
    Java分布式事务解决方案包括但不限于以下几种: 使用XA协议来管理分布式事务。XA协议是一种由X/Open组织定义的分布式事务...
    99+
    2024-04-02
  • redis分布式ID解决方案示例详解
    目录常用的分布式ID解决方案UUIDSnowflakeSnowflake算法的Java代码:LeafLeaf算法的Java代码:基于数据库自增ID生成基于UUID生成基于Redis生成基于ZooKeeper生成常用的分布...
    99+
    2023-03-07
    redis分布式ID 分布式ID解决方案
  • MySQL分布式解决方案
      Mycat是一个开源的分布式数据库系统,其核心功能是分表分库,即将一个大表水平分割为多个小表, 存储在后端MySQL或者其他数据库里。取名Mycat原因一是简单好记,另一个则是希望未来能够入驻 Apache, Apache的开源产品T...
    99+
    2023-10-08
    mysql 分布式 数据库
  • 分布式事务的7种解决方案是怎样的
    分布式事务的7种解决方案是怎样的,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。 分布式事务最经典的七种解决方案随着...
    99+
    2024-04-02
  • 一文搞明白Java Spring Boot分布式事务解决方案
    目录前言1. 什么是反向补偿2. 基本概念梳理3. 什么是两阶段提交4. AT 模式5. TCC 模式6. XA 模式7. Saga 模式前言 分布式事务,咱们前边也聊过很多次了,网...
    99+
    2024-04-02
  • 九种分布式ID解决方案
    文章目录 背景1、UUID2、数据库自增ID2.1、主键表2.2、ID自增步长设置 3、号段模式4、Redis INCR5、雪花算法6、美团(Leaf)7、百度(Uidgenerator)...
    99+
    2023-09-12
    分布式 数据库 java
  • Spring Cloud + Nacos + Seata整合过程(分布式事务解决方案)
    目录一、简介二、seata-server部署1、官网下载2、解压到本地3、修改配置文件4、seata数据库初始化5、业务数据库6、启动seata-server三、微服务项目集成Sea...
    99+
    2024-04-02
  • 怎么解析Spring Cloud 微服务系统中分布式事务解决方案
    本篇文章为大家展示了怎么解析Spring Cloud 微服务系统中分布式事务解决方案,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。一、微服务系统最大的挑战数据的并发访问、修改不同请求之间的数据隔离多...
    99+
    2023-06-04
  • java SpringBoot 分布式事务的解决方案(JTA+Atomic+多数据源)
    目录前言一、项目依赖二、数据源配置三、数据源的注册四、配置数据源对应的sqlSessionFactory五、测试接口六、建立JtaTestContoller.java七、在test....
    99+
    2024-04-02
  • 微服务分布式事务4种解决方案是怎么样的
    本篇文章给大家分享的是有关微服务分布式事务4种解决方案是怎么样的,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。分布式事务分布式事务是指事务的参与者,支持事务的服务器,资源服务器...
    99+
    2023-06-02
  • 怎么分析分布式事务常用解决方法
    这期内容当中小编将会给大家带来有关怎么分析分布式事务常用解决方法,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。分布式事务的解决方法方案1:全局事务(DTP模型)全局事务基于DTP模型实现。DTP是由X/O...
    99+
    2023-06-04
  • 分布式事务seata详解与使用
    往期文章 用最简单的话讲最明白的红黑树条件注解@ConditionalOnClass原理数据结构 - 堆与堆排序 文章目录 往期文章一、介绍1、整体机制2、原理3、写隔离4、读隔离5、AT模式...
    99+
    2023-10-20
    分布式 数据库 mysql
  • 关于MySQL与Golan分布式事务经典的七种解决方案
    目录1、基础理论1.1 事务1.2 分布式事务2、分布式事务的解决方案2.1 两阶段提交/XA2.2 SAGA2.3 TCC2.4 本地消息表2.5 事务消息2.6 最大努力通知2....
    99+
    2024-04-02
  • 图文精讲java常见分布式事务理论与解决方案
    目录CAP理论C(Consistence):一致性A(Availability):可用性P(Partition tolerance):分区容错性BASE理论BA(Basically ...
    99+
    2024-04-02
  • redis实现分布式session的解决方案
    目录一、首先Session二、分布式Session补充:一、首先Session Session 是客户端与服务器通讯会话技术, 比如浏览器登陆、记录整个浏览会话信息。session存...
    99+
    2024-04-02
  • 分布式事务的方案有哪些
    本篇内容介绍了“分布式事务的方案有哪些”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!分布式事务的产生我们先...
    99+
    2024-04-02
  • java分布式事务之可靠消息最终一致性解决方案
    目录一、什么是可靠消息最终一致性事务1、本地事务与消息发送的原子性问题2、事务参与方接收消息的可靠性3、消息重复消费的问题二、解决方案1、本地消息表方案2、RocketMQ事务消息方...
    99+
    2022-11-13
    java分布式事务消息一致性 java分布式事务
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作