标签:命令 action 变化 client 活动 处理 兼容 大量 方式
最新版本支持热点读的自动发现并触发客户端自动缓存,可有效保护服务端不被热点打穿,大幅提升缓存整体可用性,目前已经在线上稳定运行半年时间,欢迎大家使用。
热key的问题
秒杀、促销活动或突发的热点事件可能导致瞬间大量的请求去访问某个key。如此大的压力打到一个实例上,会导致该实例CPU飙升,响应变慢,甚至最终无法提供服务。当缓存无法提供服务的时候,请求会打到后端的DB上,会把DB打穿。
很多业务无法预先识别出这些热key。当热key发生不能有效地处理。
我们的方案
提供了毫秒级热key自动发现和热读自动处理的能力。
我们的优势
注意事项
热key的自动处理需要业务能容忍一定程度的一致性问题。如果客户端和服务器已经是当前最新版本(版本在本文最后一节),热key功能默认是开启的。如果要求强一致的业务请关闭热key功能。
历史热key查询
工作方式
1、在客户端web页面的管理配置上点击“启用热Key缓存”(默认是开启的)。
2、服务端发现热key后,会通过tcp长连接通知到客户端sdk,客户端sdk会将热key自动缓存到本地。
3、如果热key发生了写操作,服务端会通知客户端将发生变化的热key从本地缓存删除,直到key再次被打热,如下图所示:
版本要求
客户端:jimclient2.1.10版以上,使用方法见:https://cf.jd.com/pages/viewpage.action?pageId=367705622
服务端:端的版本>=4.1.34。对此有诉求的业务方请联系@sunshanqing进行升级。
标签:命令 action 变化 client 活动 处理 兼容 大量 方式
原文地址:https://www.cnblogs.com/yaochunhui/p/14376244.html