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

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

时间2025-08-04 18:11:37分类IT科技浏览13549
导读: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
wordpress怎么改成中文(WordPress多语言插件:为您的网站打开全球市场) 黑五苹果官网有活动吗(WebHostingPad黑五活动大促 虚拟主机最高70%优惠(ipad黑五有没有活动))