点击▲关注 “爪哇笔记”   给公众号标星置顶

更多精彩 第一时间直达

发布

HotKey在618稳定版0.2版基础上,引入了proto序列化方式,并优化了传输对象。

worker单机性能从618大促稳定版的20万QPS稳定,30万极限,提升至30万稳定,37万极限。且cpu峰值下降了15%。

该中间件目前在京东内部10余个核心部门接入使用,服务于京东App服务端前台、中台,数据中台等多个核心业务线。

架构

京东APP后台热数据探测框架,历经多次高压压测和2020年京东618大促考验。在上线运行的这段时间内,每天探测的key数量数十亿计,精准捕获了大量爬虫、刷子用户,另准确探测大量热门商品并毫秒级推送到各个服务端内存,大幅降低了热数据对数据层的查询压力,提升了应用性能。

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

对外推送目前性能约平稳推送每秒10万次,譬如有1千台server,每秒在一台worker上产生了100个热key,那么这1秒会平稳推送100 * 1000 = 10万次。实际表现看,1秒推送40万次的场景也出现过多次,会产生部分延迟到达,但不丢失。

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

介绍

对任意突发性的无法预先感知的热点请求,包括并不限于热点数据(如突发大量请求同一个商品)、热用户(如爬虫、刷子)、热接口(突发海量请求同一个接口)等,进行毫秒级精准探测到。然后对这些热数据、热用户等,推送到该应用部署的所有机器JVM内存中,以大幅减轻对后端数据存储层的冲击,并可以由客户端决定如何使用这些热key(譬如对热商品做本地缓存、对热用户进行拒绝访问、对热接口进行熔断或返回默认值)。这些热key在整个应用集群内保持一致性。

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

适用场景:

1 mysql热数据本地缓存

2 redis热数据本地缓存

3 黑名单用户本地缓存

4 爬虫用户限流

5 接口、用户维度限流

6 单机接口、用户维度限流限流

7 集群用户维度限流

8 集群接口维度限流

该开源项目战略意义重大,经历百万级并发,参与京东开源中间件项目建设,一直在等你。

界面效果

源码:

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

程序员必备的15种微服务架构框架

真香,百万鉴黄服务源码开源了

真香,百万妹子图小程序源码开源了

100万+的妹子图微服务版本终于开源了

▲回复私活助你接一波私活

你点的每个在看,我都认真当成了喜欢

京东热 Key 0.4 发布,单机 QPS 提升至 35 万相关推荐

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

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

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

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

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

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

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

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

  5. 使用Netty如何做到单机秒级接收35万个对象

    点击上方蓝色"方志朋",选择"设为星标" 回复"666"获取独家整理的学习资料! 来源 | https://urlify.cn/Bvueuq ...

  6. Netty 如何做到单机秒级接收 35 万个对象?

    -     前言     -  单纯netty结合protostuff进行rpc对象传输的demo网上有很多,大部分都是一个模子刻出来的,一开始我也是抄了一个,本地测试畅通无阻,未发生任何异常. 部署 ...

  7. 京东热key探测框架本地压测数据记录,单机(8核)QPS约16万/s,可水平扩展

    继上一次全链路压测时,热key框架由于Java低版本(1.8.0_131之前的1.8版本)获取docker内cpu核数有问题,实则获取的是宿主机的核数,造成线程数量过多,压测瞬间cpu达到100%,问 ...

  8. 日处理200亿+调用,单机QPS高峰达到4万+,喜马拉雅自研 API 网关架构实践

    点击上方"码农突围",马上关注 这里是码农充电第一站,回复"666",获取一份专属大礼包 真爱,请设置"星标"或点个"在看&quo ...

  9. cass出现验证许可_ASML:DUV光刻机无需美国许可!最新一代EUV光刻机明年发布:加工精度提升至1.1nm...

    EETOP专注芯片.微电子,点击上方蓝字关注我们 10月14日,ASML公布第三季度财报,净销售额高达39.58亿欧元,同比增长32.6%,毛利率为47.5%.据该公司首席执行官Peter Wenni ...

最新文章

  1. matlab i型级联filter,Matlab中filter,conv,impz用法(最新整理)
  2. PostgreSQL在何处处理 sql查询之二十一
  3. ASP.NET MVC基于标注特性的Model验证:一个Model,多种验证规则
  4. 使用Nginx、Keepalived构建负载均衡
  5. linux怎么将终端一分为二,Linux下的终端和作业控制
  6. 一步一步搭建ZooKeeper + Mesos + Marathon平台管理Docker集群
  7. 55. 时间服务器 : NTP 服务器
  8. 如何高效的批量删除亿级大表数据
  9. 华师本科网络英语 计算机统考,2020华中师大计算机考研经验帖(已上岸)
  10. 【服务器】iis的重启服务器、重启iis、回收(重启)线程池、刷新网站
  11. 1143 Lowest Common Ancestor
  12. 2013,爱上暗色调
  13. 微信文章投诉模板html,微信小程序模板消息填坑
  14. [编程题]雀魂启动!
  15. Yii Framework 开发教程(31) Zii组件-DetailView 示例
  16. 为什么要用PolyFill(JS中的修补匠)
  17. 盘点VBA中字典的写入技巧!
  18. Ubuntu设置屏幕分辨率
  19. 美元指数K线图怎么看?
  20. 日本准备推行AI婚配,年轻人会为“爱情算法”买单吗?

热门文章

  1. 计算机函数公式left,Excel中如何使用Left函数?
  2. C语言绘图示例-商标徽标
  3. HackThis!! Crypt Level 6 WriteUp
  4. 如何理解position属性里的sticky属性?
  5. 测试硬盘读写速度c语言实现,一次解决磁盘IO读取慢全过程实战
  6. codeforces7D Palindrome Degree(manacherdp或Hshdp)
  7. 王道每日一题2022年考研
  8. 创建文件creat函数
  9. 绍兴哪里能买到高仿的香奈儿,普拉达包包
  10. android studio 陀螺仪,Android Studio中陀螺仪的例子吗?(Android Studio Gyroscope e