缓存预热:
缓存预热就是系统上线或更新后,提前将相关配置的缓存数据直接加载到缓存系统。避免在网站用户在系统上线第一次请求的时候,先查询数据库,然后再将数据缓存的问题,用户直接查询事先被预热的缓存数据,这样增加了数据库的压力,降低了用户的体验度。
处理方案:
1、配置一个job定时刷新数据缓存。
2、直接写个缓存刷新页面,上线后手动刷新。
缓存降级:
当站点的访问量剧增、服务出现卡顿问题或非关键服务影响到关键流程的性能时,仍然需要保证服务还是可用的,即使是有损服务。系统可以根据一些关键数据进行自动降级,放弃一些不重要的加载项,也可以配置开关实现人工降级。
降级的最终目的是保证关键服务的正常运行,比如涉及财务的网站购物的购物车,结算等重要模块,是不能降级的。
处理方案:
根据服务的重要层度,可以根据日志设置分级预警,当达到某个预警时,对缓存服务进行降级。
(1) 严重错误:比如因为特殊原因数据错误了,此时需要紧急人工手动降级,并发送严重错误的邮件警告;
(2)错误:比如可用率低于90%,或者数据库连接池占用满了,或者访问量突然猛增到系统能承受的最大阀值,此时可以根据情况自动降级或者人工降级 ,并发送错误的邮件警告;
(3) 警告:有些服务在一段时间内成功率有波动(如在95~100%之间),可以配置自动降级或人工降级,并发送邮件告警;
(4) 一般:比如有些服务偶尔因为网络抖动或者服务正在上线而超时,可以配置自动降级;