- 博客(10)
- 收藏
- 关注
原创 06.Seata简介
概念:Seata 是一款开源的分布式事务解决方案,致力于提供高性能和简单易用的分布式事务服务。Seata 将为用户提供了 AT、TCC、SAGA 和 XA 事务模式,为用户打造一站式的分布式解决方案。
2023-09-25 00:25:15
91
原创 04.基于本地消息表+定时任务的最终一致性方案
采用BASE原理,保证事务最终一致性。在一致性方面,允许一段时间内的不一致,但是最终是一致的。时间时效性低,在实际系统中,根据具体情况,判断是否使用。
2023-09-23 23:21:12
173
原创 03.TCC事务补偿机制
针对每个操作,都注册一个与其对应的补偿(撤销)操作,在执行失败时,调用补偿操作,撤销之前的操作。缺点:数据一致性比XA还要差,出错点多。属于应用层的一种补偿方法,程序员需要写更多的代码。
2023-09-23 23:20:39
66
原创 01.原理篇幅
接下来我们再保证A(可用性),也就是说A和B同步出现问题时,客户端还能够访问我们的系统,那么客户端既可能访问A也可能访问B,这时,A和B的数据是不一致的,所以C(一致性)不能满足。ACID强调的是强一致性,要么全做,要么全不做,所有的用户看到的都是一致的数据。传统的数据库都有ACID特性,它们在CAP原理中,保证的是CA。如果我们满足C(一致性),也就是说客户端无论访问A还是访问B,得到的结果都是一样的,那么现在A和B的数据不一致,需要等到A和B的数据一致以后,也就是同步恢复以后,才可对外提供服务。
2023-09-23 22:34:50
39
原创 03.java内存模型及happens-before
计算机在执行过程中,为了提高性能,编译器和处理器常常会对指令进行重新排序为什么进行指令排序可以提高性能?简单来说,每个指令包含多个步骤,每个步骤使用不同的硬件。因此流水线技术产生了,它的原理是指令1还没有执行完,就可以执行指令2了,而不用等着指令1结束之后再执行指令2,这样大大提高效率。但是,流水线技术嘴牌中断,恢复中断的代价是比较大的,所以我们要想办法不让流水线中断,指令重排就是减少中断的一种技术。a = b + c;d = e - f;先加载b、c(注意,即有可能先加载b,也有可能先加载c。
2023-09-23 00:32:50
46
原创 01.多线程基础
线程在进入WAITING[join()/wait()] 和TIMED_WAITING[wait(long millis)/sleep(long millis)/join((long millis))]对线程对象调用interrupt()会使得该线程抛出InterruptedException,抛出异常后,中断标志位会被清空(线程的中断标志位会由true重置为false,因为线程为了处理异常已经重新处于就绪状态。与之对应的是用户线程,用户线程可以认为是系统的工作线程,完成系统业务操作。守护线程自然就会退。
2023-09-23 00:29:27
227
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人