摘要: 1、JMM的关键技术点都是围绕着多线程的原子性、可见性和有序性来建立的。 1.1、原子性(Atomicity) 原子性是指一个操作是不可中断的。即使是在多个线程一起执行的时候,一个操作一旦开始,就不会被其他线程干扰。 比如,对于一个静态全局变量int i,两个线程同时对它赋值,线程A给它赋值1,线程 阅读全文
posted @ 2019-11-28 23:08 jackcto 阅读(141) 评论(0) 推荐(0)
摘要: 1、Amdahl定律 Amdahl定律是计算机科学中非常重要的定律。它定义了串行系统并行化后的加速比的计算公式和理论上限。 加速比定义: 加速比 = 优化前系统耗时 / 优化后系统耗时 所谓加速比就是优化前的耗时与优化后耗时的比值。加速比越高,表明优化效果越明显。图1.8显示了Amdahl公式的推导 阅读全文
posted @ 2019-11-28 22:52 jackcto 阅读(332) 评论(0) 推荐(0)
摘要: 1、同步(Synchronous)和异步(Asynchronous) 1.1、同步(Synchronous) 同步方法调用一旦开始,调用者必须等到方法调用返回后,才能继续后续的行为。 1.2、异步(Asynchronous) 异步方法调用更像一个消息传递,一旦开始,方法调用就会立即返回,调用者就可以 阅读全文
posted @ 2019-11-28 21:18 jackcto 阅读(134) 评论(0) 推荐(0)
摘要: 一、柔性事务的模式:幂等操作、可补偿操作、可查询操作和TCC操作 1、可查询操作:为了保证操作的可查询,需要对于每一个服务的每一次调用都有一个全局唯一的标识,可以是业务单据号(如订单号)、也可以是系统分配的操作流水号(如支付记录流水号)。除此之外,操作的时间信息也要有完整的记录。 2、幂等操作:幂等 阅读全文
posted @ 2019-11-25 10:34 jackcto 阅读(731) 评论(0) 推荐(0)
摘要: XA分布式事务协议,包含二阶段提交(2PC),三阶段提交(3PC)两种实现。 1、一致性 1.1、简述 一致性,是指对每个节点一个数据的更新,整个集群都知道更新,并且是一致的,假设一个具有N个节点的分布式系统,当其满足以下条件时,我们说这个系统满足一致性: 全认同:所有N个节点都认同一个结果 值合法 阅读全文
posted @ 2019-11-21 16:25 jackcto 阅读(337) 评论(0) 推荐(0)
摘要: 一、事务的基本要素(ACID) 事务是由一组SQL语句组成的逻辑处理单元,事务具有以下4个属性,通常简称为事务的ACID属性。 原子性(Atomicity):指整个数据库事务是不可分割的工作单位。只有使据库中所有的操作执行成功,才算整个事务成功;事务中任何一个SQL语句执行失败,那么已经执行成功的S 阅读全文
posted @ 2019-11-21 13:38 jackcto 阅读(202) 评论(0) 推荐(0)
摘要: BASE模型是CAP定理牺牲强一致性、保证可用性的折中方案: 1、Basically Available-基本可用 分布式系统发生不可预知的故障时,允许损失部分可用性,如服务降级等。 2、Soft state-弱状态 分布式系统不同节点间某个时刻数据允许存在中间状态,不同节点的数据副本之间进行同步时 阅读全文
posted @ 2019-11-21 11:48 jackcto 阅读(845) 评论(0) 推荐(0)
摘要: 1、CAP的来源 1998年,加州大学的计算机科学家EricBrewer提出,分布式系统有三个指标 Consistency:一致性 Availability:可用性 Partition tolerance:分区容错性 它们的第一个字母分别是 C、A、P,EricBrewer说这三个指标不可能同时做到 阅读全文
posted @ 2019-11-21 11:47 jackcto 阅读(531) 评论(0) 推荐(0)