问题:
- 服务器启动后迅速宕机
原因:
- 请求数量较高
- 主从之间数据吞吐量较大,数据同步操作频度较高
解决方案:
- 前置准备工作
- 日常例行统计数据访问记录,统计访问频度较高的热点数据
- 利用LRU 数据删除策略,构建数据留存队列(例如:storm+kafka配合)
- 准备工作
- 将统计结果中的数据分类,根据级别,redis 优先加载级别较高的热点数据
- 利用分布式多服务器同时进行数据读取,提高数据加载过程
- 实施
- 使用脚本程序固定出发数据预热过程
- 如果条件允许,使用CDN(内容分发网络),效果会更好
总结
缓存预热就是系统启动前,提前将相关的缓存数据直接加载到缓存系统,避免在用户请求的时候,先查询数据库,然后再将数据缓存的问题!用户直接查询事先被预热的缓存数据!
注意:提前预热的数据,即提前放入缓存的数据,应该是访问频度较高的热点数据