摘要: 一、缓存雪崩 当redis中大量的缓存在一个较短的时间内全部过期。导致于在一个瞬时时间内大量的请求直接访问数据库。造成数据库的崩溃。 二、如何避免缓存雪崩 1、降级(禁用某些接口,只开放核心接口) 2、熔断(禁用某些服务) 三、如何测试 1、让redis挂了,让服务链接不上redis 二、缓存击穿 阅读全文
posted @ 2023-06-21 07:57 快乐的汤圆酱 阅读(7) 评论(0) 推荐(0) 编辑
摘要: 一、读操作流程1、先查询redis,如果redis有数据则直接返回redis数据2、如果redis没有数据,则从数据库中读取数据3、从数据库中读取数据后,更新reids缓存 二、写操作:淘汰缓存?Or更新缓存? 1、淘汰缓存:优点是操作简单,缺点是淘汰后下一次请求就会读取数据库 2、更新缓存:优点是 阅读全文
posted @ 2023-06-21 07:36 快乐的汤圆酱 阅读(18) 评论(0) 推荐(0) 编辑
摘要: 一、什么是缓存穿透 1、数据即不存在于缓存中也不存在于数据库中,常见一些网络共计场景以及前端逻辑错误时发生。 二、处理方式 1、郭论过滤器研发将所有可能存在的数据,hash到一个大的getmap中,一个一定不存在的数据会被getmap拦截掉,从而避免底层存储系统的查询压力。 2、如果一个查询返回的数 阅读全文
posted @ 2023-06-21 06:54 快乐的汤圆酱 阅读(25) 评论(0) 推荐(0) 编辑
摘要: 一、什么是缓存击穿 当redis某个热key(比如首页广告)过期或者因为某些异常原因导致于无法从缓存中获取,导致大量的并发访问数据库而奔溃。 二、怎么测试 1、跟运维沟通,拿到热key,手动登录redis,人为删除,然后看熔断和降级的策略会不会触发。 2、压测模拟热key,手动登录redis,人为删 阅读全文
posted @ 2023-06-21 06:46 快乐的汤圆酱 阅读(15) 评论(0) 推荐(0) 编辑
摘要: 一、什么是降级和熔断 1、降级:禁用某些接口,只开放核心接口 2、熔断:禁用某些服务 说明:禁用的接口和服务访问会报错或拒绝访问。 二、如何测试 1、梳理服务中的核心接口列表 2、梳理系统重的核心服务列表 3、验证核心接口和服务的降级和熔断策略是否生效 注意:这种方式不好模拟,一般情况下降级和熔断策 阅读全文
posted @ 2023-06-21 06:38 快乐的汤圆酱 阅读(280) 评论(0) 推荐(0) 编辑
摘要: 1、iptalbes 2、Tc 3、chaos-blade(阿里开源) 阅读全文
posted @ 2023-06-21 06:22 快乐的汤圆酱 阅读(10) 评论(0) 推荐(0) 编辑