首页IT科技京东app技术框架(牛逼!“京东热” 框架 JD-hotkey 开源了…单机 QPS 可达 37 万!!)

京东app技术框架(牛逼!“京东热” 框架 JD-hotkey 开源了…单机 QPS 可达 37 万!!)

时间2025-06-20 15:29:15分类IT科技浏览12558
导读:JD-hotkey 是京东 APP 后台热数据探测框架,历经多次高压压测和 2020 年京东 618 大促考验。...

JD-hotkey 是京东 APP 后台热数据探测框架                ,历经多次高压压测和 2020 年京东 618 大促考验                。

在上线运行的这段时间内                        ,每天探测的key数量数十亿计        ,精准捕获了大量爬虫                、刷子用户            ,另准确探测大量热门商品并毫秒级推送到各个服务端内存                        ,大幅降低了热数据对数据层的查询压力            ,提升了应用性能                        。

该框架历经多次压测        ,性能指标主要有两个:

1 探测性能:8核单机worker端每秒可接收处理16万个key探测任务                        ,16核单机至少每秒平稳处理30万以上                ,实际压测达到37万    ,CPU平稳支撑                        ,框架无异常        。

2 推送性能:在高并发写入的同时                    ,对外推送目前性能约平稳推送每秒10-12万次,譬如有1千台server                    ,一台worker上每秒产生了100个热key                        ,那么这1秒会平稳推送100 * 1000 = 10万次    ,10万次推送会明确在1s内全部送达            。如果是写入少                ,推送多                        ,以纯推送来计数的话        ,该框架每秒可稳定对外推送40-60万次平稳            ,80万次极限可撑几秒                        。

每秒单机吞吐量(写入+对外推送)目前在70万左右稳定            。

在真实业务场景中                        ,可用1:1000的比例            ,即1台worker支撑1000台业务服务端的key探测任务        ,即可带来极大的数据存储资源节省(如对redis集群的扩充)        。

介绍

对任意突发性的无法预先感知的热点请求                        ,包括并不限于热点数据(如突发大量请求同一个商品)                        、热用户(如爬虫        、刷子)            、热接口(突发海量请求同一个接口)等                ,进行毫秒级精准探测到                        。

然后对这些热数据                        、热用户等    ,推送到该应用部署的所有机器JVM内存中                        ,以大幅减轻对后端数据存储层的冲击                    ,并可以由客户端决定如何使用这些热key(譬如对热商品做本地缓存            、对热用户进行拒绝访问        、对热接口进行熔断或返回默认值)                。这些热key在整个应用集群内保持一致性    。

核心功能:热数据探测并推送至集群各个服务器                        。

适用场景:

mysql热数据本地缓存 redis热数据本地缓存 黑名单用户本地缓存 爬虫用户限流 接口                        、用户维度限流 单机接口                、用户维度限流限流 集群用户维度限流 集群接口维度限流

worker 端强悍的性能表现

每10秒打印一行,totalDealCount代表处理过的key总量                    ,可以看到每10秒处理量在270万-310万之间                        ,对应每秒30万左右QPS                    。

仅需要很少的机器    ,即可完成海量key的实时探测计算推送任务。比扩容redis集群规模成本低太多                    。

界面效果

来源:https://gitee.com/jd-platform-opensource/hotkey

近期热文推荐:

1.1,000+ 道 Java面试题及答案整理(2022最新版)

2.劲爆!Java 协程要来了                        。    。                。

3.Spring Boot 2.x 教程                ,太全了!

4.别再写满屏的爆爆爆炸类了                        ,试试装饰器模式        ,这才是优雅的方式!!

5.《Java开发手册(嵩山版)》最新发布            ,速速下载!

觉得不错                        ,别忘了随手点赞+转发哦!

创心域SEO版权声明:以上内容作者已申请原创保护,未经允许不得转载,侵权必究!授权事宜、对本内容有异议或投诉,敬请联系网站管理员,我们将尽快回复您,谢谢合作!

展开全文READ MORE
numpy小波变换(python小波变换3-代码实现(pywt库,cwt-2D/3D时频图绘制,dwt-信号分解及重建))