分布式
#FJW
这个作者很懒,什么都没留下…
展开
-
谈一谈对ThreadLocal的理解
什么是ThreadLocal?ThreadLocal提供一个线程的局部变量,访问某个线程拥有自己局部变量。当使用ThreadLocal维护变量时,ThreadLocal为每个使用该变量的线程提供独立的变量副本,所以每一个线程都可以独立地改变自己的副本,而不会影响其它线程所对应的副本。ThreadLocal的作用ThreadLocal的作用主要是做数据隔离,填充的数据只属于当前线程,变量的数据对别的线程而言是相对隔离的,在多线程环境下,可以防止自己的变量被其它线程篡改。ThreadLocal的使用场景原创 2020-07-30 16:47:05 · 511 阅读 · 0 评论 -
分布式事务解决方案之可靠消息最终一致性
什么是可靠消息最终一致性事务可靠消息最终一致性方案是指当事务发起方执行完成本地事务后并发出一条消息,事务参与方(消息消费者)一定能够接收消息并处理事务成功,此方案强调的是只要消息发给事务参与方最终事务要达到一致。此方案是利用消息中间件完成,如下图:事务发起方(消息生产方)将消息发给消息中间件,事务参与方从消息中间件接收消息,事务发起方和消息中间件之间,事务参与方(消息消费方)和消息中间件...原创 2020-04-25 11:58:06 · 329 阅读 · 0 评论 -
分布式事务解决方案之2PC(两阶段提交)
概述学习了分布式事务的基础理论,以理论为基础,针对不同的分布式场景业界常见的解决方案有2PC、TCC、可靠消息最终一致性、最大努力通知这几种。什么是2PC2PC即两阶段提交协议,是将整个事务流程分为两个阶段,准备阶段(Prepare phase)、提交阶段(commit phase),2是指两个阶段,P是指准备阶段,C是指提交阶段。举例:张三和李四好久不见,老友约起聚餐,饭店老板要求先买单...原创 2020-04-22 16:36:34 · 870 阅读 · 0 评论 -
分布式事务
什么是分布式事务分布式系统会把一个应用系统拆分为可独立部署的多个服务,因此需要服务与服务之间远程协作才能完成事务操作,这中分布式系统环境下由不同的服务之间通过网络远程协作完成事务称之为分布式事务什么是事务事务由一组操作构成,我们希望这组操作能够全部正确执行,如果这一组操作中的任意一个步骤发生错误,那么就需要回滚之前已经完成的操作。也就是同一个事务中的所有操作,要么全都正确执行,要么全都不要执...原创 2020-04-18 16:27:59 · 173 阅读 · 0 评论 -
redisson源码解析
概述上一篇讲到分布式锁的实现方式主要有zookeeper,redis,mysql三种方式,而redis使用最为广泛,但手工利用redis去实现存现许多需要考虑的问题,如死锁,误删,可重入等问题,手工实现不仅繁琐,并且可能会遗漏,因此,我们可以利用redisson为我们封装好的分布式锁,它的使用方法与lock基本一致。什么是redissonRedisson是一个在Redis的基础上实现的Jav...原创 2020-04-17 17:59:13 · 2066 阅读 · 0 评论 -
分布式锁
什么是分布式锁要介绍分布式锁,首先要提到与分布式锁相对应的是线程锁、进程锁。线程锁:主要用来给方法、代码块加锁。当某个方法或代码使用锁,在同一时刻仅有一个线程执行该方法或该代码段。线程锁只在同一JVM中有效果,因为线程锁的实现在根本上是依靠线程之间共享内存实现的,比如synchronized是共享对象头,显示锁Lock是共享某个变量(state)。进程锁:为了控制同一操作系统中多个进程访问某...原创 2020-04-16 11:33:05 · 86 阅读 · 0 评论