达到物理网卡上限,突然几十万的请求访问Redis的某个key如何解决( 二 )


当然 , 这只是其中一种方式 , 有的公司在监控方面用的是方式五:自己抓包评估 。
具体是这么做的 , 先利用flink搭建一套流式计算系统 。然后自己写一个抓包程序抓redis监听端口的数据 , 抓到数据后往kafka里丢 。
接下来 , 流式计算系统消费kafka里的数据 , 进行数据统计即可 , 也能达到监控热key的目的 。
通知系统做处理
在监控到热key后 , Hermes服务端集群会通过各种手段通知各业务系统里的Hermes-SDK , 告诉他们:"老弟 , 这个key是热key , 记得做本地缓存 。"
于是Hermes-SDK就会将该key缓存在本地 , 对于后面的请求 。Hermes-SDK发现这个是一个热key , 直接从本地中拿 , 而不会去访问集群 。
除了这种通知方式以外 。我们也可以这么做 , 比如你的流式计算系统监控到热key了 , 往zookeeper里头的某个节点里写 。然后你的业务系统监听该节点 , 发现节点数据变化了 , 就代表发现热key 。最后往本地缓存里写 , 也是可以的 。
通知方式各种各样 , 大家可以自由发挥 。本文只是提供一个思路 。

【达到物理网卡上限,突然几十万的请求访问Redis的某个key如何解决】


推荐阅读