redis作为系统架构的中间层,介于应用和传统关系库比如mysql之间的缓存数据库,如果该层出现问题,业务是否会中断?还是说只是单纯的影响mysql主业务数据库的访问速度?
(1) Redis作为缓存,在业务繁忙的时候,发生故障,是会影响业务的。因为redis无法访问,负载将直接穿透,压在数据库上,造成对数据库性能的压力。
(2)Redis上的数据,都是基于数据库的,redis的故障,并不会影响数据的完整性,所以,非业务繁忙时间段发生故障,一般问题不大。
在业务繁忙的时候,发生故障,肯定会影响业务。此时redis无法访问,负载将直接穿透,压在数据库上,造成对数据库性能的压力。
收起一般来说,缓存是都是临时数据,需要数据库做兜底处理的。如果缓存出现异常,需要做熔断处理,应用程序跳过缓存直接访问数据库。如果是强依赖Redis,那么性能肯定会有影响,此时需要触发报警机制。
收起从2个层面界定:
1、redis整个集群体系发生故障引起数据库层面异常,比如,CPU较高等等,业务会中断。
2、redis局部异常,与业务及数据库交互影响不强烈,则偏远业务可在一定程度上能够访问
当然,还有其他场景,比如,redis做业务场景,出现问题业务肯定会中断
收起