分布式
文章平均质量分 92
分布式
Fisher3652
这个作者很懒,什么都没留下…
展开
-
Redis分布式锁在分布式场景下的问题及解决方法
目录1. 死锁问题2. 锁续命问题3. 主从锁失效的问题1. 死锁问题场景:当用 redis 做分布式锁时,当 A 用户竞争锁成功,A 用户所在的主机挂了,这时候还没有来得及释放锁,那么其他用户去用 setnx 指令去竞争锁时发现 redis 有这个锁的 key,所以就导致其他用户永远都竞争不成功。解决方案: 当用户加锁成功时给锁设置一个跟业务执行时间匹配的锁失效时间, 这样就算锁没有释放过一段时间锁也会实现,其他用户就可以竞争到锁了(这里在设置失效时间的操作,要和 setnx 指令一起执行,不原创 2020-10-13 17:33:20 · 2885 阅读 · 0 评论 -
分布式定时任务调度框架
文章目录1. 分布式任务调度2. E-Job 分布式调度2.1 使用场景2.2 springboot工程,引入依赖2.3 配置文件2.4 开启E-Job2.5 创建ElasticService2.6 创建定时任务监听2.7 创建定时任务异常处理类2.8 创建定时任务2.9 启动zookeeper,再使用8081端口启动服务2.10 再使用8082端口启动服务1. 分布式任务调度在系统需要运行大量耗时定时任务的场景下,单使用类似 Quartz 或者 spring task 等定时任务框架无法满足对并发处原创 2020-09-28 17:09:22 · 649 阅读 · 0 评论 -
分布式缓存
缓存1. 高并发首选策略2. 重要指标2.1 缓存命中率2.2 移除策略3. Java中的实现4.1. 高并发首选策略cdn/缓存/动态页面静态化/集群/分布式(拆字诀)/同步转异步/限流熔断降级什么样的数据适合缓存?1、访问频率高2、更改频率低3、一致性要求不高2. 重要指标2.1 缓存命中率表明缓存是否运行良好,命中率越高越好命中率 = 从缓存中读取次数 / (总读取次数[从缓存中读取次数 + 从数据库上读取的次数])Miss率 = 没有从缓存中读取的次数 / (总读取次数[原创 2020-09-04 16:20:41 · 278 阅读 · 0 评论 -
分布式事务
分布式事务1. 事务2. 事务经典场景3. 事务与锁3.1 锁的问题场景3.2 事务的问题场景4. 事务的实现方式5. 分布式事务5.1 产生的原因5.2 CAP 理论5.3 BASE 理论6. 基于 XA 协议的两阶段提交7. 两阶段提交(Two Phase Commit) --- 2PC8. 三阶段提交协议--- 3PC8.1 阶段一 CanCommit8.2 阶段二 precommit8.3 阶段三 docommit8.4 与 2pc 的区别9. TCC 方案10. MQ(事务消息)11. Lcn 事原创 2020-09-16 17:27:42 · 206 阅读 · 0 评论