最近在找工作,总是会被问到分布式事务的问题。 被问到想吐,诚实的回答我们不做分布式事务,面试官好像又不满意,我不明白现在的人为什么都那么装呢? 很多情况下出现事务的问题,很久也碰不了一次,如果出错了记录日志,定位,补偿不就完了。现在又没有强事务的分布式事务解决方案,都是弱事务,说白了就是靠代码逻辑实 ...
分类:
其他好文 时间:
2019-11-04 20:03:52
阅读次数:
85
1.基础概念 1.1.什么是事务 什么是事务?举个生活中的例子:你去小卖铺买东西,“一手交钱,一手交货”就是一个事务的例子,交钱和交货必须全部成功,事务才算成功,任一个活动失败,事务将撤销所有已成功的活动。 明白上述例子,再来看事务的定义: 事务可以看做是一次大的活动,它由不同的小活动组成,这些活动 ...
分类:
其他好文 时间:
2019-11-01 18:45:11
阅读次数:
95
1、2PC协议 2PC 是二阶段提交(Two-phase Commit)的缩写,顾名思义,这个协议分两阶段完成。第一个阶段是准备阶段,第二个阶段是提交阶段,准备阶段和提交阶段都是由事务管理器(协调者)发起的,协调的对象是资源管理器(参与者)。二阶段提交协议的概念来自 X/Open 组织提出的分布式事 ...
分类:
其他好文 时间:
2019-11-01 18:42:17
阅读次数:
117
背景 LCN框架在2017年6月份发布第一个版本,从开始的1.0,已经发展到了5.0版本。 LCN名称是由早期版本的LCN框架命名,在设计框架之初的1.0 ~ 2.0的版本时框架设计的步骤是如下,各取其首字母得来的LCN命名。 锁定事务单元(lock) 确认事务模块状态(confirm) 通知事务( ...
分类:
其他好文 时间:
2019-10-31 10:42:53
阅读次数:
113
1、2PC协议 2PC 是二阶段提交(Two-phase Commit)的缩写,顾名思义,这个协议分两阶段完成。第一个阶段是准备阶段,第二个阶段是提交阶段,准备阶段和提交阶段都是由事务管理器(协调者)发起的,协调的对象是资源管理器(参与者)。二阶段提交协议的概念来自 X/Open 组织提出的分布式事 ...
分类:
其他好文 时间:
2019-10-29 15:39:50
阅读次数:
141
1、详解MySql确保数据不丢失的原理及设计的亮点,参考这些亮点实现了2个常见的案例
2、案例1:电商账户高并发更新设计方案及具体实现,单账户并发更新TPS达到上千,设计思路非常值得借鉴
3、案例2:常见的跨库转账设计方案及具体实现,让大家熟练掌握一种分布式事务解决方案,过程非常详细
4、本文... ...
分类:
数据库 时间:
2019-10-29 11:59:55
阅读次数:
108
微服务(microservice)这个概念是2012年出现的,2014年3月Martin Fowler在他的个人网站(https://martinfowler.com/articles/microservices.html)中是这样说到的: The term "Microservice Archit ...
分类:
Web程序 时间:
2019-10-26 01:10:38
阅读次数:
107
在分布式系统的很多场景中,我们为了保证数据的最终一致性,需要很多的技术方案来支持,比如分布式事务、分布式锁等。
有的时候,我们需要保证一个方法在同一时间内只能被同一个线程执行。在单机环境中,Java中其实提供了很多并发处理相关的API,但是这些API在分布式场景中就无能为力了。也就是说单纯的Java Api并不能提供分布式锁的能力。
分类:
其他好文 时间:
2019-10-25 14:53:28
阅读次数:
89
[TOC] 引言:随着金九银十的到来,回首在经历了两周的跳槽求职路后,终于成功拿到offer,距今已经入职快一个月了,因此,这几天抽空将之前的面试题做了个汇总,一方面自己以后回顾学习用,一方面为大家奉送上一份秋收的福利。 JDK jdk1.8版本后的新特性有哪些? 如何避免空指针异常? Dubbo ...
分类:
编程语言 时间:
2019-10-23 09:19:22
阅读次数:
163
不同于单一架构应用(Monolith), 分布式环境下, 进行事务操作将变得困难, 因为分布式环境通常会有多个数据源, 只用本地数据库事务难以保证多个数据源数据的一致性. 这种情况下, 可以使用两阶段或者三阶段提交协议来完成分布式事务.但是使用这种方式一般来说性能较差, 因为事务管理器需要在多个数据 ...
分类:
编程语言 时间:
2019-10-18 18:57:58
阅读次数:
99