1.前言
- 前面我们介绍了热点数据预热问题,为了解决避免新系统刚上线,或者是redis崩溃数据丢失后重启,redis中没有数据,redis冷启动,大量流量直接到数据库。
- 现在还有个问题需要解决,对于大量瞬间请求问题,比如做一个活动。根据前面设计的文案,会到一个固安的后端nginx中,此时这个nginx压力就比较大了。
2.解决思路
-
在storm拓扑中计算出突发的访问商品
(1) 通过http请求到分发层nginx
分发层nginx增加对应接口,写入到本地cache中,即置当前商品 为hot
(2) 从缓存服务嘛,获取此商品信息,然后通过http请求到应用层nginx
应用层nginx增加对应接口,将当前商品信息写入到本地缓存中 -
分发层ngin增加对热点商品路由逻辑
从本地cache中获取到此商品为hot,将随机分发到应用层nginx -
在storm拓扑中加入热点缓存消失的实时自动识别和感知的逻辑