点击上方蓝色“程序猿DD”,选择“设为星标”

回复“资源”获取独家整理的学习资料!

发布

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

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

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

架构

京东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万次极限可撑几秒。

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

介绍

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

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

适用场景:

1 mysql热数据本地缓存

2 redis热数据本地缓存

3 黑名单用户本地缓存

4 爬虫用户限流

5 接口、用户维度限流

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

7 集群用户维度限流

8 集群接口维度限流

界面效果

源码&文章参考:https://gitee.com/jd-platform-opensource/hotkey

往期推荐

干掉Navicat:正版 MySQL 官方客户端真香!

赠书:算法与数据中台“网约车业务实践”

HTTPS证书知识扫盲

这样配置,让你的 IDEA 好用到飞起来!

中国工商银行已使用OceanBase!

陌陌开源合规审计平台 Bombus

专注于「开发者」综合成长的深度星球

限时优惠进行中

热门分享内容回顾

- 社会人0924期:新手架构最容易忽略的点!

- 技术人0725期:说说我在银行科技部门学到的东西!

京东的热点key探测系统发布,单机 QPS 提升至 37 万相关推荐

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

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

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

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

  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. 京东开源热key探测(JD-hotkey)中间件单机qps 提升17倍实战

    京东hotkey框架(JD-hotkey)是京东app后台研发的一款高性能热数据探测中间件,用来实时探测出系统的热数据,并将热数据毫秒内推送至系统的业务集群服务器的JVM内存.以下统称为"热 ...

  6. linux原生系统_Ubuntu GamePack 20.04系统发布:通吃8.6万款Linux/Win/DOS游戏

    与Windows相比,Linux系统不被人接受的一大缺陷就是游戏支持,但这已经是老黄历了,现在专为游戏优化的Ubuntu GamePack 20.04系统,可以畅玩8.6万款游戏. 看名字就知道,Ub ...

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

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

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

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

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

    还有一种热点数据的发现机制,那就是实时的做收集,比如在客户端.服务端或者在代理层,都可以对实时数据进行采集,然后进行统计汇总. 达到一定的数量之后,就会被识别为热key 如何解决热key问题 解决热k ...

最新文章

  1. mysql load settings_Mysql high performance: Memory setting
  2. Java 线程池必知的8 大拒绝策略
  3. linux脚本 的使用,linux shell脚步使用讲解
  4. 使用pv命令限制SQL文本导入速度
  5. java after 函数_Java中关于Date的before函数和after函数的使用
  6. UVA 1524 - Hot or Cold?(数学)
  7. 学习笔记(12):Python网络编程并发编程-解决粘包问题-简单版本
  8. CSS之REM和EM的区别
  9. Devc++编译系统分配给int多少字节
  10. j pocket_Wallabag:Pocket的开源替代品
  11. 小米手机60帧录屏_小米手机中居然有这么强大投屏录屏功能?!我可能用了个假小米吧...
  12. php处理har,harviewer har解析工具
  13. 安装广告拦截插件abp
  14. Android 使用三级缓存实现对图片的加载
  15. xubuntu20.04安装记
  16. 关于 Swap file “~.bash_profile.swp“ already exists (已解决)
  17. 2022低压电工培训试题模拟考试平台操作
  18. Python 字典学习总结(自学)
  19. LTE学习:PHICH(一)
  20. 基于MATLAB的Kmeans聚类算法的仿真与分析

热门文章

  1. python3 文件内容搜索 文件名搜索 目录遍历
  2. 视频监控软件 SecuritySpy 简介
  3. golang 正则使用总结
  4. linux makefile 编译标记 EXTRA_CFLAGS 简介
  5. linux 硬链接 软链接 简介
  6. python 信号模块 signal
  7. linux清屏命令clear和reset
  8. linux下文件夹的创建、复制、剪切、重命名、清空和删除命令
  9. AWS之EC2搭建WordPress博客
  10. go网站服务器搭建,使用Go搭建服务器记录(一)