西安健康码分析

业务场景:读多写少, 考虑使用缓存中间件

1.客户端 做防抖节流,二维码图片根据服务器传过来的字符串在客户端生成,而不是服务端,以减少服务端带宽占用

2.出现错误时给用户一个友好提示

3.服务端未作限流措施导致客户端请求全失败,缓存穿透,没击中缓存就设置null值防止数据库抗太大压力,等缓存失效后再从数据库读取,好的方案使用布隆过滤器

缓存击穿应对方案 阻塞多个线程只让一个线程去读取数据库

缓存雪崩 把超时时间设置的离散一点

缓存一致性使用cache aside,先更新数据库在删除缓存,技术层面再高点延迟双删

4.对于瞬时增高的压力未作全面的性能测试,场景考虑不充分

5.服务没有做拆分, 分布式、微服务可以做到故障隔离,把核心和非核心业务隔离开

6.数据库主从一致性,半同步然后异步

 

 

缓存穿透、缓存击穿、缓存雪崩区别和解决方案

posted @ 2022-01-08 23:25  up~up  阅读(102)  评论(0编辑  收藏  举报