0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

JD-hotkey热数据探测框架介绍

jf_ro2CN3Fa 来源:Gitee 作者:XiaoYu 2022-11-14 15:53 次阅读

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

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

4f2c4600-6300-11ed-8abf-dac502259ad0.png

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

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集群的扩充)。

基于 Spring Boot + MyBatis Plus + Vue & Element 实现的后台管理系统 + 用户小程序,支持 RBAC 动态权限、多租户、数据权限、工作流、三方登录、支付、短信、商城等功能

项目地址:https://gitee.com/zhijiantianya/ruoyi-vue-pro

视频教程:https://doc.iocoder.cn/video/

介绍

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

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

核心功能:

热数据探测并推送至集群各个服务器。

基于 Spring Cloud Alibaba + Gateway + Nacos + RocketMQ + Vue & Element 实现的后台管理系统 + 用户小程序,支持 RBAC 动态权限、多租户、数据权限、工作流、三方登录、支付、短信、商城等功能

项目地址:https://gitee.com/zhijiantianya/yudao-cloud

视频教程:https://doc.iocoder.cn/video/

适用场景

mysql热数据本地缓存

redis热数据本地缓存

黑名单用户本地缓存

爬虫用户限流

接口、用户维度限流

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

集群用户维度限流

集群接口维度限流

worker 端强悍的性能表现

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

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

4f6327b0-6300-11ed-8abf-dac502259ad0.png513817f8-6300-11ed-8abf-dac502259ad0.png

界面效果

516ad42c-6300-11ed-8abf-dac502259ad0.png





审核编辑:刘清

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • cpu
    cpu
    +关注

    关注

    68

    文章

    10522

    浏览量

    207428
  • MYSQL数据库
    +关注

    关注

    0

    文章

    95

    浏览量

    9292
收藏 人收藏

    评论

    相关推荐

    redis数据倾斜的原因以及应对方案 JD开源hotkey的源码解析

    之前旁边的小伙伴问我热点数据相关问题,在给他粗略的讲解一波redis数据倾斜的案例之后,自己也顺道回顾了一些关于热点数据处理的方法论,同时也想起去年所学习JD开源项目
    的头像 发表于 09-29 10:35 1756次阅读

    释电红外探测器相关资料

    本帖最后由 eehome 于 2013-1-5 10:01 编辑 释电红外探测器相关资料
    发表于 06-02 17:41

    释电红外探测器相关资料

    释电红外探测器相关资料
    发表于 04-02 09:37

    机智云开源框架介绍

    机智云物联网开源框架App工程(Eclipse工程)https://git.oschina.net/dantang/GizOpenSource_AppKit_Android 介绍:机智云开源框架
    发表于 12-27 15:47

    机智云APP开源框架介绍

    机智云物联网开源框架App工程(Eclipse工程)介绍:机智云开源框架(GizOpenSource_AppKit_Android) 是开源的适用于物联网的软件框架,用于无缝的支持设备
    发表于 02-15 17:56

    hadoop框架结构的说明介绍

    同步系统,使得HADOOP的数据处理更加高效。关于hadoop框架结构暂且简单介绍这些,感兴趣的朋友可以找一下大快搜索的DKhadoop试一下。
    发表于 10-15 15:59

    STM32硬件框架介绍

    目录STM32硬件框架介绍IIC初始化STM32硬件框架介绍首先我们来看IIC通信的硬件架构可以看出,可以分为以上4部分。第一部分:通信接口SDA信号和SCL信号由此产生或输入第二部分
    发表于 08-24 06:18

    Core-3399-JD4更新固件介绍

    1、Core-3399-JD4更新固件介绍Core-3399-JD4 有2种工作模式。一般情况下,开机直接进入Normal 模式正常启动系统。如需对板子系统进行升级,可以根据情况选择合适的升级模式
    发表于 06-30 18:14

    HarmonyOS多媒体框架介绍

    可以通过该接口调用实现对音频数据的采集。Audio Manager提供了音频流类型、音量、音频设备管理等接口,开发者可以通过调用该接口实现对相关音频对象的管理。 以上是多媒体框架的相关介绍内容
    发表于 01-03 16:36

    JD-6电动机综合保护器介绍

    本文主要讲述的是JD-6电动机综合保护器介绍
    发表于 04-11 14:13 17次下载

    红外探测器基本介绍

    红外探测器基本介绍 接近探测器 (传感器)是一种当入侵者接近它时能触发报警的探测装置。在接近探测器中,通常有一个高频率的LC
    发表于 12-29 11:56 1275次阅读

    android框架与应用开发介绍

    android框架与应用开发介绍
    发表于 10-24 09:35 7次下载
    android<b class='flag-5'>框架</b>与应用开发<b class='flag-5'>介绍</b>

    云计算环境中流行的大数据框架介绍

    在本文中,我们将介绍云计算环境中流行的大数据框架,并确定这些大数据框架的某些属性,并探讨与之相关的一些最大障碍和问题。本文将按资源管理大
    的头像 发表于 01-09 11:35 3842次阅读
    云计算环境中流行的大<b class='flag-5'>数据</b><b class='flag-5'>框架</b><b class='flag-5'>介绍</b>

    JD-hotkey是京东APP 台热数据探测框架

    万次推送会明确在1s内全部送达。如果是写入少,推送多,以纯推送来计数的话,该框架每秒可稳定对外推送40-60万次平稳,80万次极限可撑几秒。
    的头像 发表于 11-14 15:58 712次阅读

    JD6606_JD6621W7协议小板简介

    JD6606SP5_JD6606SSP_JD6606SASP_JD6621W7协议小板简介(1)(1)
    发表于 04-21 14:08 8次下载