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开发手册(嵩山版)》最新发布,速速下载!

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

牛逼!“京东热” 框架 JD-hotkey 开源了...单机 QPS 可达 37 万!!相关推荐

  1. 京东热 Key 0.4 发布,单机 QPS 提升至 35 万

    点击▲关注 "爪哇笔记"   给公众号标星置顶 更多精彩 第一时间直达 发布 HotKey在618稳定版0.2版基础上,引入了proto序列化方式,并优化了传输对象. worker ...

  2. 京东热点key探测系统发布,单机 QPS 提升至 37 万

    HotKey在618稳定版0.2版基础上,引入了protobuf序列化方式,并优化了传输对象. worker单机性能从618大促稳定版的20万QPS稳定,30万极限,提升至30万稳定,37万极限.且c ...

  3. 京东热 key 探测框架新版发布,单机 QPS 可达 35 万

    △Hollis, 一个对Coding有着独特追求的人△ 这是Hollis的第 300 篇原创分享 作者 l Hollis 来源 l Hollis(ID:hollischuang) 对于大型的分布式系统 ...

  4. 京东的热点key探测系统发布,单机 QPS 提升至 37 万

    点击上方蓝色"程序猿DD",选择"设为星标" 回复"资源"获取独家整理的学习资料! 发布 HotKey在618稳定版0.2版基础上,引入了p ...

  5. 最牛逼的日志框架,性能无敌,横扫所有对手。。

    点击下方公众号「关注」和「星标」 回复"1024"获取独家整理的学习资料! Logback 算是JAVA 里一个老牌的日志框架,从06年开始第一个版本,迭代至今也十几年了.不过lo ...

  6. 最牛逼 Java 日志框架 — Log4j2,性能无敌,横扫对手.....

    Logback 算是JAVA 里一个老牌的日志框架,从06年开始第一个版本,迭代至今也十几年了.不过logback最近一个稳定版本还停留在 2017 年,好几年都没有更新:logback的兄弟 slf ...

  7. 京东物流年营收1374亿:一线员工数达37万 外部客户收入占比近7成

    雷递网 乐天 3月9日 京东物流股份有限公司(股票简称"京东物流",股票代码:2618)今日发布2022年度业绩报告.财报显示,京东物流2022年营收1374亿,较上年同期的104 ...

  8. 牛逼!“京东热”框架JD-hotkey开源了...

    JD-hotkey 是京东 APP 后台热数据探测框架,历经多次高压压测和 2020 年京东 618 大促考验. 在上线运行的这段时间内,每天探测的key数量数十亿计,精准捕获了大量爬虫.刷子用户,另 ...

  9. 这个牛逼的低代码生成器,现在开源了!

    点击关注公众号,实用技术文章及时了解 腾讯tmagic-editor是一个所见即所得的页面可视化编辑器,实现零代码/低代码生成页面,可以快速搭建可视化页面生产平台,让非技术人员可以通过拖拽和配置,自助 ...

最新文章

  1. 【书籍下载链接】_2_第二轮_计算机专业书籍
  2. java for 最后_Java的for循环中调用了查询服务,最后只打印了循环的最后一条数据(循环次数)次...
  3. SQL总结(三)其他查询
  4. Linux软件安装的补充
  5. java数组空指针一场_Java使用自定义类数组报空指针异常
  6. Linux下配置和安装VNCServer远程服务
  7. 百度内部培训PPT流出:数据分析的道与术
  8. C++智能指针(一)智能指针的简单介绍
  9. Serverless在游戏运营行业进行数据采集分析的最佳实践
  10. IMF:央行须变得更像苹果公司以保证央行数字货币处在技术前沿
  11. 程序员VS产品经理日常
  12. Requests 1.0 发布,Python 的 HTTP 客户端库
  13. 88是python语言的整数类型_python基本数据类型练习
  14. 用Quartus仿真计数器模块:
  15. 微信小店 没有服务器,微信小店商家后台配置说明
  16. 最小二乘法节点定位(1)——小知识:非线性方程线性化
  17. ie8 css hack 只适用ie8的css写法
  18. Kappa(cappa)系数只需要看这一篇就够了,算法到python实现
  19. Asp代码转换java代码器_asp下实现对HTML代码进行转换的函数
  20. csi-provisioner源码分析

热门文章

  1. 计算机命令跟踪,如何使用tracert这一个命令跟踪IPv6路径
  2. Nature子刊:高功能自闭症患者的大脑网络动态
  3. 持续更新:免费的IT学习资源分享
  4. 计算机辅助教学应用调查表,计算机辅助教学应用论文精选.doc
  5. 成功解决无法安装64位版本的office,因为在您的PC上找到了以下32位程序,已有32位版本
  6. 【原理篇】一文读懂Faster RCNN
  7. 计算机毕业设计ssm丢失宠物发布找寻平台7nk4i系统+程序+源码+lw+远程部署
  8. XBanner实现3D画廊效果
  9. 计算机更改锁屏密码忘记了怎么办,以前的旧电脑忘记密码了屏幕密码锁屏密码怎么办 试试这几种方法吧...
  10. quilt-补丁工具