分布式架构-缓存实战

高并发铁律

        第一选择(从前往后的顺序):加缓存、静态化、集群、拆字诀(分布式)、同步转异步、限流熔断降级。

高并发首选策略

        1、访问频率高;2、更改频率低;3、一致性要求不高。

使用缓存技巧

        更改数据使用双删策略

缓存一致性问题

        无论怎么做,都有漏洞。一般情况就是4种情况处理:(1)实时更新(比如更新数据时删除缓存);(2)定时任务更新缓存(比如12306余票显示)(3)准实时更新(甩锅第三方比如mq);(4)定时任务(每天凌晨全量刷新)。

缓存击穿和雪崩解决方案

        (1)针对同一个sql只允许一个线程去查询(加锁的方式解决);(2)缓存预热(3)改被动失效为主动失效

缓存穿透解决方案

        布隆过滤器,不存在的数据直接拦截。就算布隆过滤器放进去了数据库不存在的数据也没关系,已经大大过滤了大部分数据。布隆过滤器可能是分布式的,单独的一个服务,只要请求即可。

什么是事务

        原来不是原子性操作,在并发环境下,我们需要模拟成原子性的操作(要不全成功,要么全失败)。

XA

        1、分布式场景下,XA方式,ACID式事务,对表的锁定时间太长。

Base理论(柔性事务)

        BA:基本业务可用性,S:柔性状态(中间态不一致),E:最终一致性。为了可用性,牺牲一致性。

异步确保性

        mq

分布式事务的框架

        Lcn框架

阿里的分布式框架

        seata框架

分布式事务的排名

        2pc/3pc/tcc/mq/最大努力型(类似微信付款)/seata AT 都会努力兼容tcc模式

传统的调度工具

        (1)timer;(2)spring-task;(3)quartz

你可能感兴趣的:(分布式架构-缓存实战)