分布式的特点 1. 分布式 2. 对等性 3. 并发性 4. 缺乏全局时钟 5. 故障总是会发生 分布式环境的问题 1. 网络不可靠 2. 网络分区 3. 节点故障 CAP理论 一致性 可用性 分区容错性 BASE理论 两阶段提交 阶段1 提交事务请求 1. 事务询问 2. 写事务日志 3. 各参与 ...
分类:
其他好文 时间:
2019-04-21 20:08:02
阅读次数:
184
此处选用的(LP)形式为: min f = CTx ; s.t. AX = b , X >= 0, 1.可行域K != NULL 时,K为第一卦限中的凸多边形,且必存在顶点; 2.最优解存在则必有基本最优解,可行解存在则必存在基本可行解; 3.在求解之前首先观察决策变量定义域,约束条件的格式,若非标 ...
分类:
其他好文 时间:
2019-04-21 13:07:23
阅读次数:
226
导读: 微服务架构已成为了互联网的热门话题之一,而这也是互联网技术发展的必然阶段。然而,微服务概念的提出者 Martin Fowler 却强调:分布式调用的第一原则就是不要分布式。 纵观微服务实施过程中的弊端,可以推断出作者的意图,就是希望系统架构者能够谨慎地对待分布式调用,这是分布式系统自身存在的 ...
分类:
其他好文 时间:
2019-04-04 15:50:45
阅读次数:
158
在学习分布式事物的过程中会遇到以下关键名词: 相关名词: XA :XA规范的目的是允许多个资源(如数据库,应用服务器,消息队列,等等)在同一事务中访问,这样可以使ACID属性跨越应用程序而保持有效。XA使用两阶段提交来保证所有资源同时提交或回滚任何特定的事务。 JTA: Java事务API(Java ...
分类:
编程语言 时间:
2019-04-04 12:34:31
阅读次数:
213
[toc] 分布式事务 两阶段提交方案 布式事务方案,比较适合单块应用里,跨多个库的分布式事务,而且因为严重依赖于数据库层面来搞定复杂的事务,效率很低,绝对不适合高并发的场景。 TCC方案(实现起来非常复杂) 1)Try阶段:这个阶段说的是对各个服务的资源做检测以及对资源进行锁定或者预留 2)Con ...
分类:
其他好文 时间:
2019-03-31 16:52:03
阅读次数:
163
【使用场景】 对RDD执行reduceByKey等聚合类shuffle算子或者在Spark SQL中使用group by语句进行分组聚合时,经过sample或日志、界面定位,发生了数据倾斜。 【解决方案】 局部聚合+全局聚合,进行两阶段聚合。具体为: 将原本相同的key通过附加随机前缀的方式,变成多 ...
分类:
其他好文 时间:
2019-03-23 00:18:20
阅读次数:
180
现在几乎所有的系统都是分布式的—— 已经没有那种集中式(webapp,数据库等等都在同一台服务器上。。) 那么带来的问题: ———— I/O模型 同步/异步 + 阻塞/非阻塞 ———— 数据一致性 数据同步 ———— 分布式事务 解决方案: 两阶段提交(2PC); 三阶段提交(3PC) 一些常用指标 ...
分类:
其他好文 时间:
2019-02-17 11:15:16
阅读次数:
222
Reference: https://www.cnblogs.com/zhoujinyi/p/5257558.html 概念: XA(分布式事务)规范主要定义了(全局)事务管理器(TM: Transaction Manager)和(局部)资源管理器(RM: Resource Manager)之间的接 ...
分类:
数据库 时间:
2019-02-15 01:19:22
阅读次数:
287
分布式事务的典型处理方式 柔性事务和刚性事务 柔性事务满足BASE理论(基本可用,最终一致)。 刚性事务满足ACID理论。 在分布式事务当中主要讨论的是柔性事务的处理方式。 柔性事务分为: 两阶段提交型(2PC) 三阶段提交型(3PC) 补偿型(TCC、SAGA) 两阶段提交(2PC)型 两阶段提交 ...
分类:
其他好文 时间:
2019-01-28 00:49:25
阅读次数:
179
XA协议 性能不佳; 最佳实践:仅在同一个事务上下文中需要协调多种资源(即数据库,以及消息主题或队列)时,才有必要使用X/Open XA接口。 基于消息中间件的两阶段提交协议:RocketMQ基于此;在高并发场景下,将一个分布式事务拆成一个消息事务(A系统的本地操作+发消息)+B系统的本地操作,不是 ...
分类:
其他好文 时间:
2018-12-14 13:58:44
阅读次数:
191