- 浏览: 61397 次
- 性别:
- 来自: 上海
文章分类
- 全部博客 (117)
- RPC相关 (4)
- mvc_controller (3)
- mvc_model (3)
- maven (4)
- mvc_view (5)
- IO (2)
- 业务相关 (2)
- MQ (7)
- 搜索引擎 (3)
- zookeeper (2)
- 工具相关 (4)
- 编辑错误 (1)
- tomcat (1)
- 单元测试 (1)
- 负载均衡 (1)
- ubuntu (1)
- nginx (1)
- dubbo (2)
- 网络站点分发 (1)
- 电商-支付相关 (10)
- 电商订单业务相关 (3)
- Core java1 (3)
- Core Java (12)
- 多线程高并发(并发包/线程/锁) (10)
- 数据库+缓存 (17)
- springcloud (2)
- jvm (5)
- 日志相关 (1)
- 算法 (3)
- spring (2)
- 分布式一致性算法 (1)
最新评论
事务
原子性,事务要么全执行,要么全不执行。
一致性,事务开始前和开始后,所有数据保证一致状态。
持久性,保存在数据库是持久不变的。
隔离性,同一时间同一事物,不同事务是隔离的。
传播行为:
1、PROPAGATION_REQUIRED:如果当前没有事务,就创建一个新事务,如果当前存在事务,就加入该事务,该设置是最常用的设置。
2、PROPAGATION_SUPPORTS:支持当前事务,如果当前存在事务,就加入该事务,如果当前不存在事务,就以非事务执行。‘
3、PROPAGATION_MANDATORY:支持当前事务,如果当前存在事务,就加入该事务,如果当前不存在事务,就抛出异常。
4、PROPAGATION_REQUIRES_NEW:创建新事务,无论当前存不存在事务,都创建新事务。
5、PROPAGATION_NOT_SUPPORTED:以非事务方式执行操作,如果当前存在事务,就把当前事务挂起。
6、PROPAGATION_NEVER:以非事务方式执行,如果当前存在事务,则抛出异常。
7、PROPAGATION_NESTED:如果当前存在事务,则在嵌套事务内执行。如果当前没有事务,则执行与PROPAGATION_REQUIRED类
http://blog.csdn.net/hsgao_water/article/details/52860380
隔离级别:
数据库事务的隔离级别有4个,由低到高依次为Read uncommitted、Read committed、Repeatable read、Serializable,这四个级别可以逐个解决脏读、不可重复读、幻读这几类问题。
1、ISOLATION_READ_UNCOMMITTED:这是事务最低的隔离级别,它充许令外一个事务可以看到这个事务未提交的数据。
这种隔离级别会产生脏读,不可重复读和幻像读。
2、ISOLATION_READ_COMMITTED:保证一个事务修改的数据提交后才能被另外一个事务读取。另外一个事务不能读取该事务未提交的数据
3、ISOLATION_REPEATABLE_READ:这种事务隔离级别可以防止脏读,不可重复读。但是可能出现幻像读。
它除了保证一个事务不能读取另一个事务未提交的数据外,还保证了避免下面的情况产生(不可重复读)。
4、ISOLATION_SERIALIZABLE:这是花费最高代价但是最可靠的事务隔离级别。事务被处理为顺序执行。
除了防止脏读,不可重复读外,还避免了幻像读。
http://blog.csdn.net/qq_33290787/article/details/51924963
事务三种模式
自动提交事务:
显示事务:每个事务均以begin
隐式事务: mysql conminit=0
分布式事务:
订单库,支付库,物流库在不同的数据库
JDBC事务,基于Connection对象控制事务,局限性在一个数据库链接内。
JTA事务,在多个网络计算机并更新数据,可以分布在多个数据库上。
容器事务,容器事务主要是j2ee应用服务器提供的,容器事务大多是基于JTA完成,这是基于JNDI想当复杂的api实现
在java环境中,多个xa(定义了分布式事务管理模型)资源
应用程序,事务管理器,资源管理器,通信资源管理器
tomcat+Spring+JTA如何实现
Atomikos中间件
Jotm(停止维护)
Bitronix(停止维护)
数据库连接池基于xa规范(druid)
三种方式:
注解@Transtion
事务模板
编码式事务
关于一致性:
CAP与BASE理论
二阶段提交2P
三阶段提交3P
两军问题:
拜占庭将军与Paxos协议
原子性,事务要么全执行,要么全不执行。
一致性,事务开始前和开始后,所有数据保证一致状态。
持久性,保存在数据库是持久不变的。
隔离性,同一时间同一事物,不同事务是隔离的。
传播行为:
1、PROPAGATION_REQUIRED:如果当前没有事务,就创建一个新事务,如果当前存在事务,就加入该事务,该设置是最常用的设置。
2、PROPAGATION_SUPPORTS:支持当前事务,如果当前存在事务,就加入该事务,如果当前不存在事务,就以非事务执行。‘
3、PROPAGATION_MANDATORY:支持当前事务,如果当前存在事务,就加入该事务,如果当前不存在事务,就抛出异常。
4、PROPAGATION_REQUIRES_NEW:创建新事务,无论当前存不存在事务,都创建新事务。
5、PROPAGATION_NOT_SUPPORTED:以非事务方式执行操作,如果当前存在事务,就把当前事务挂起。
6、PROPAGATION_NEVER:以非事务方式执行,如果当前存在事务,则抛出异常。
7、PROPAGATION_NESTED:如果当前存在事务,则在嵌套事务内执行。如果当前没有事务,则执行与PROPAGATION_REQUIRED类
http://blog.csdn.net/hsgao_water/article/details/52860380
隔离级别:
数据库事务的隔离级别有4个,由低到高依次为Read uncommitted、Read committed、Repeatable read、Serializable,这四个级别可以逐个解决脏读、不可重复读、幻读这几类问题。
1、ISOLATION_READ_UNCOMMITTED:这是事务最低的隔离级别,它充许令外一个事务可以看到这个事务未提交的数据。
这种隔离级别会产生脏读,不可重复读和幻像读。
2、ISOLATION_READ_COMMITTED:保证一个事务修改的数据提交后才能被另外一个事务读取。另外一个事务不能读取该事务未提交的数据
3、ISOLATION_REPEATABLE_READ:这种事务隔离级别可以防止脏读,不可重复读。但是可能出现幻像读。
它除了保证一个事务不能读取另一个事务未提交的数据外,还保证了避免下面的情况产生(不可重复读)。
4、ISOLATION_SERIALIZABLE:这是花费最高代价但是最可靠的事务隔离级别。事务被处理为顺序执行。
除了防止脏读,不可重复读外,还避免了幻像读。
http://blog.csdn.net/qq_33290787/article/details/51924963
事务三种模式
自动提交事务:
显示事务:每个事务均以begin
隐式事务: mysql conminit=0
分布式事务:
订单库,支付库,物流库在不同的数据库
JDBC事务,基于Connection对象控制事务,局限性在一个数据库链接内。
JTA事务,在多个网络计算机并更新数据,可以分布在多个数据库上。
容器事务,容器事务主要是j2ee应用服务器提供的,容器事务大多是基于JTA完成,这是基于JNDI想当复杂的api实现
在java环境中,多个xa(定义了分布式事务管理模型)资源
应用程序,事务管理器,资源管理器,通信资源管理器
tomcat+Spring+JTA如何实现
Atomikos中间件
Jotm(停止维护)
Bitronix(停止维护)
数据库连接池基于xa规范(druid)
<!-- https://mvnrepository.com/artifact/com.atomikos/transactions-jta --> <dependency> <groupId>com.atomikos</groupId> <artifactId>transactions-jta</artifactId> <version>4.0.6</version> </dependency> <!-- https://mvnrepository.com/artifact/com.atomikos/transactions-jdbc --> <dependency> <groupId>com.atomikos</groupId> <artifactId>transactions-jdbc</artifactId> <version>4.0.6</version> </dependency>
三种方式:
注解@Transtion
事务模板
编码式事务
关于一致性:
CAP与BASE理论
二阶段提交2P
三阶段提交3P
两军问题:
拜占庭将军与Paxos协议
发表评论
-
msql主从同步机制
2019-04-12 17:08 351DB主从分离:主服务 更新有线程记录mysq 的blog记录文 ... -
mysql原理分析(可用于培训)
2019-03-29 19:59 3241 ... -
redis主从同步/复制
2019-03-08 14:17 356redis主从是如何同步的 先说已经执行过首次同步(salvo ... -
数据库索引
2019-03-04 11:41 355参考:https://www.cnblogs.com/yelo ... -
数据库死锁&数据库锁知识点
2019-02-28 17:28 465参考:https://www.cnblogs.co ... -
redis 在业务代码应用
2018-08-02 16:30 5681.查库存 public class IndexDatas ... -
redis被动缓存
2018-04-04 18:45 519package com.pingan.haofang.ag ... -
本地缓存类
2018-04-04 18:44 356package com.pingan.haofang.ag ... -
缓存集中形式
2018-03-31 17:11 3601.被动缓存 被动缓存: 当取service服务数据redis ... -
数据库死锁
2017-12-26 11:35 336死锁(Deadlock) 所谓死 ... -
redis sentinel & cluster 原理分析
2017-03-20 17:03 427[img][/img]http://lib.csdn.net/ ... -
redis sentinel:使用Spring-data-redis操作Redis的Sentinel
2017-03-20 10:22 659redis整合spring(redisTemplate工具类) ... -
mysql服务端安装(centos)
2017-03-02 18:10 422http://jingyan.baidu.com/articl ... -
redis cluster:缓存数据库Redis集群搭建
2016-12-19 22:39 528http://www.redis.cn/topics/clus ... -
mysql服务端与客户端安装(windows)
2016-12-02 11:23 835一.服务端安装5.7版本(zip的方式) 1.下载zip文件 ... -
mysql性能优化与ORM分库分表
2016-12-01 21:08 1344http://www.cnblogs.com/gossip/ ...
相关推荐
Java分布式事务是大型分布式系统中不可或缺的一个重要组成部分,它确保在多个网络节点间的数据操作能够保持一致性和完整性。在分布式环境中,由于多个服务之间可能存在数据交互,因此需要一种机制来处理跨服务的数据...
本文来自于csdn,本文主要从分布式的原因,事务特性,和解决方案中深入理解了分布式事务,希望对您的学习有所帮助。 分布式事务就是指事务的参与者、支持事务的服务器、资源服务器以及事务管理器分别位于不同的...
### 深入理解分布式事务 #### 一、分布式事务定义及重要性 分布式事务是指在分布式系统中,为了确保跨多个节点上的操作能够正确地完成或者全部回滚,所采取的一种事务处理机制。在这样的场景下,事务的参与者、...
SpringBoot作为一款轻量级的框架,提供了便捷的多数据源配置和分布式事务管理方案,使得开发者能够高效地管理和操作不同的数据库。本文将详细探讨SpringBoot如何实现多数据源以及分布式事务。 首先,我们要理解什么...
### 分布式事务若依框架文档 #### 一、分布式事务基本概念 在理解分布式事务之前,我们首先需要了解数据库事务的基本属性,即ACID特性。 - **原子性(Atomicity)**:事务中的所有操作要么全部成功,要么全部失败...
TCC(Try-Confirm-Cancel)模式是一种著名的分布式事务解决方案,它适用于大型微服务架构。本资料"基于Hyperf框架的TCC分布式事务组件"旨在帮助开发者理解如何在Hyperf这个高性能、轻量级的PHP微服务框架中实现TCC...
"浅谈分布式事务实现技术及应用场景探讨" 分布式事务是指在分布式系统中,多个节点之间的数据访问和更新操作集合,需要保证事务的原子性、一致性、隔离性和持久性。随着软件系统支持用户数的不断提高,对其架构的...
本项目"java+spring+mybatis+mysql+RuoYi-atomikos-实现分布式事务.zip"是一个基于若依(RuoYi)框架改造的多模块分布式事务解决方案,它利用了Atomikos这一强大的分布式事务管理器。以下将详细解析这个项目的知识点...
分布式事务是一个绕不过去的挑战!微服务架构本质上就是分布式服务化架构,微服务架构的流行,让分布式事务问题日益突出!尤其是在订单业务、资金业务等系统核心业务流程中,一定要有可靠的分布式事务解决方案来保证...
在大规模的SOA(Service-Oriented Architecture,面向服务架构)系统中,分布式事务处理是一项至关重要的技术。这种架构通常涉及多个独立的服务协同工作,每个服务都可能有自己的数据存储,因此,确保这些服务之间的...
《若依框架分布式事务配置与项目启动指南》 在当今的互联网时代,高并发、大数据量的业务场景对系统的性能和稳定性提出了更高要求,而分布式事务则是解决这些问题的关键技术之一。若依框架作为一款广受欢迎的Java...
在IT行业中,分布式事务处理是复杂系统架构中的一个重要环节,特别是在多数据库或服务协同工作的场景下。本项目“spring+jotm+ibatis+mysql实现JTA分布式事务”旨在利用这些技术来确保在分布式环境中的数据一致性。...
分布式事务是一种在分布式系统中处理数据一致性的重要技术。在大型网络应用中,数据往往分散在多个数据库或服务器上,为了保证这些数据的一致性,就需要使用分布式事务来协调跨多个节点的操作。本资料包“分布式事务...
该项目是一个采用消息队列解决分布式事务的开源框架,基于Java语言开发(JDK1.8),并支持dubbo、springcloud、motan等RPC框架进行分布式事务处理。通过该项目,开发者可以学习并实践分布式事务的处理,为后续的...
【ejb3.0 分布式事务详解】 在企业级Java应用中,EJB(Enterprise JavaBeans)3.0提供了一种强大而灵活的方式来处理分布式事务。分布式事务是指跨越多个数据库或资源管理器的单一逻辑操作,确保了数据的一致性和...
分布式事务与Seata 分布式事务是指在分布式系统中跨多个资源或服务进行的交易操作,需要保证操作的原子性、一致性、隔离性和持久性。分布式事务的解决方案包括Seata、TCC、SAGA、X/Open XA等。 分布式事务的产生是...
分布式事务是为了解决分布式系统中跨越多个节点的操作,要求这些操作要么全部成功要么全部失败的一种事务机制。它是为了保证在不同节点上的数据一致性而产生的概念。分布式事务广泛应用于微服务架构、数据库分库分表...