Question3.热点问题

2021-11-09  本文已影响0人  王侦

一、业务场景

小猛最近出去面试,面试官出了一道关于双十一的题目,内容如下:
我们工作中有时候会遇到一些突发的情况,比如某电商机构双十一期间的某些热门商品会有降价促销的活动,当这其中某一件商品被数万次点击浏览或者购买时,会有一个短期的较大的流量,造成热点问题。你觉得后台服务会有哪些瓶颈,如何去解决这些问题?

问题:大家思考一下,系统会遇到哪些问题?如何优化系统的整体架构来解决上面提到的问题?

二、答案

官方思路:

主要问题:某一热点Key的流量集中达到某一主机上,缓存集群开始出现机器的宕机,此时读请求读不到数据读db,DB被击穿,引起业务雪崩

解决方案:

核心思路:你的系统需要能够在热点缓存突然发生的时候,直接发现他,然后瞬间立马实现毫秒级的自动负载均衡

1、你如何自动发现热点缓存问题?

比如通过大数据的flink技术来计算,一旦发现某一秒内的请求达到了某个阀值,判断为热点key,写入到zk中

2、热点缓存自动加载为JVM本地缓存

我们的业务系统可以去监听zk的node节点,把数据加载出来后放入到系统的本地缓存,比如ehcache、自己实现的LRU Cache Map都可以

3、限流熔断保护

每个服务实例加入熔断机制,请求达到一定阀值后直接返回一个空白的页面,不让请求访问缓存集群和db

上一篇下一篇

猜你喜欢

热点阅读