摘要: 理解最大努力通知 最大努力通知也是一种分布式事务的方案。 账户充值: 交互流程: 账户系统调用充值系统接口。 充值系统完成支付处理向账户系统发起充值结果,若通知失败,则充值系统按策略进行重复通知。 账户系统接收到充值结果通知修改充值状态。 账户系统未接收到通知会主动调用充值系统的接口查询充值结果。 阅读全文
posted @ 2022-04-25 19:52 fjhnb 阅读(57) 评论(0) 推荐(0) 编辑
摘要: 理解可靠消息最终一致性事务 可靠消息最终一致性方案是指事务发起方执行完成本地事务后并发出一条消息,事务参与者(消息消费者)一定能够接收消息并处理事务成功,此方案强调的是只要消息发给事务参与方最终事务要达到一致。 此方案是利用消息中间件完成。事务发起方(消息生产方)将消息发给消息中间件,事务参与方从消 阅读全文
posted @ 2022-04-24 20:14 fjhnb 阅读(637) 评论(0) 推荐(0) 编辑
摘要: 理解TCC TCC是Try、Confirm、Cancel三个词语的缩写,TCC要求每个分支事务实现三个操作:预处理Try、确认Confirm、撤销Cancel。Try操作做业务检查及资源预留,Confirm做业务确认操作,Cancel实现一个与Try相反的操作即回滚操作。TM首先发起所有的分支事务的 阅读全文
posted @ 2022-04-24 16:12 fjhnb 阅读(889) 评论(0) 推荐(0) 编辑
摘要: 理解2PC 2PC即两阶段提交协议,是将整个事务流程分为两个阶段,准备阶段(prepare phase)、提交阶段(commit phase),2是指两个阶段,P是指准备阶段,C是指提交阶段。 举例:张三和李四好久不见,老友约起聚餐,饭店老板要求先买单才能出票。这时张三和李四分别抱怨近况不如,囊中羞 阅读全文
posted @ 2022-04-22 10:31 fjhnb 阅读(889) 评论(0) 推荐(0) 编辑
摘要: 理解BASE BASE是 Basically Available(基本可用)、Soft State(软状态) 和 Eventually Consistent(最终一致性)三个词语的缩写。BASE理论是对CAP中AP的一个扩展,通过牺牲强一致性来获得可用性,当出现故障允许部分不可用但要保证核心功能可用 阅读全文
posted @ 2022-04-21 15:38 fjhnb 阅读(99) 评论(0) 推荐(0) 编辑
摘要: 理解CAP 不能因为有一点网络问题就导致整个系统无法提供服务,网络因素成为了分布式事务的考量标准之一。 CAP是Consistency、Availability、Parttion tolerance 三个词语的缩写,分别表示一致性、可用性、分区容忍性。 C - Consistency 一致性是指写操 阅读全文
posted @ 2022-04-21 15:02 fjhnb 阅读(88) 评论(0) 推荐(0) 编辑
摘要: 死锁是指两个或两个以上的进程在执行过程中,因争夺资源而造成的一种相互等待的现象,若无外力作用,它们都将无法推进下去。这是一个严重的问题,因为死锁会让你的程序挂起无法完成任务,死锁的发生必须满足以下四个条件: 互斥条件:一个资源每次只能被一个进程使用。 (ThreadLocal) 请求与保持条件:一个 阅读全文
posted @ 2022-04-13 14:47 fjhnb 阅读(115) 评论(0) 推荐(0) 编辑
摘要: 时间复杂度 O(nlog2n) 最坏情况O(n^2) 不稳定排序 1、每一轮排序选择一个基准点(pivot)进行分区,让小于基准点的元素进入一个分区,大于基准点的元素进入另一个分区当分区完成时,基准点元素的位置就是最终位置。 2、在子分区内重复以上过程,直至子分区元素个数小于等于1,这体现的是分而治 阅读全文
posted @ 2022-04-07 10:06 fjhnb 阅读(33) 评论(0) 推荐(0) 编辑
摘要: public class BubbleSort { public static void main(String[] args){ int[] arr = new int[]{5,1,3,6,8,2,10,19,15}; // 普通版 // bubbleSort(arr); // 进阶版 bubbl 阅读全文
posted @ 2022-03-23 08:51 fjhnb 阅读(25) 评论(0) 推荐(0) 编辑
摘要: (left+right)/2 可能会导致越界,可以写成left + (right - left)/2, 或者无符号右移 >>>1 public class BinarySearch { public static void main(String[] args){ int[] arr = new i 阅读全文
posted @ 2022-03-23 08:27 fjhnb 阅读(18) 评论(0) 推荐(0) 编辑
点击右上角即可分享
微信分享提示