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

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

3天内不再提示

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

jf_ro2CN3Fa 来源:gitee 作者:gitee 2022-11-14 15:58 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

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.png

513817f8-6300-11ed-8abf-dac502259ad0.png

界面效果

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

审核编辑 :李倩

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

    关注

    8

    文章

    7314

    浏览量

    93968
  • 框架
    +关注

    关注

    0

    文章

    404

    浏览量

    18315
  • 京东
    +关注

    关注

    2

    文章

    1066

    浏览量

    49884

原文标题:牛逼哄哄的 JD-hotkey !

文章出处:【微信号:芋道源码,微信公众号:芋道源码】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    智能式解粒子式电气火灾监控探测器厂家 极早期烟雾报警探测器沃伦森

    解粒子式电气火灾监控报警探测装置及配电柜。所述装置包括:盒体,其下部设置有用于吸入空气的吸气口;抽吸风扇,设置在盒体的中部,用于通过白身转动将检测空气由吸气口吸入;解粒子探测器,设
    的头像 发表于 12-05 09:46 276次阅读
    智能式<b class='flag-5'>热</b>解粒子式电气火灾监控<b class='flag-5'>探测</b>器厂家 极早期烟雾报警<b class='flag-5'>探测</b>器沃伦森

    京东平台获取商品详情原数据API接口技术解析

    获取商品详情原数据。 一、 接口基本说明 接口地址 : 通常为 https://api.jd.com/routerjson (具体路径请以京东开放平台最新文档为准) HTTP方法 : GET 或
    的头像 发表于 11-13 14:35 278次阅读
    <b class='flag-5'>京东</b>平台获取商品详情原<b class='flag-5'>数据</b>API接口技术解析

    京东API实时接口:京东商品评论数据接口

    ​​京东商品评论数据接口(通常表示为 JD.item_review)是京东开放平台提供的一种API,它允许开发者获取京东商品的用户评论
    的头像 发表于 11-11 11:21 294次阅读

    京东商品详情 ID(即 SKU ID)获取商品详细信息参数

    ​ 利用京东商品详情 ID(即 SKU ID)获取商品详细信息,可通过京东开放平台官方 API 或非官方接口(逆向解析)实现。以下是两种方式的示例展示,包含代码实现与数据解析: 一、核心概念:
    的头像 发表于 11-11 10:47 282次阅读
    <b class='flag-5'>京东</b>商品详情 ID(即 SKU ID)获取商品详细信息参数

    一文读懂京东技术发展简史

    文章目录 前言 京东发展历程 京东商城技术的演进 京东自研技术 京东前端框架Nerv 京东后端架
    的头像 发表于 11-10 13:53 207次阅读

    氧化钒探测器:无人机吊舱红外成像系统的革新之选

    在无人机技术快速发展的今天,成像系统已成为军事侦察、灾害救援、工业巡检等领域的核心装备。而探测器作为成像系统的"心脏",其性能直接决定了成像质量与应用效能。KC-2R03U-15高灵敏度氧化钒非
    的头像 发表于 11-06 09:33 468次阅读

    差示扫描量仪:分析领域的精准探测利器

    在材料科学、化学、生物学等多学科的研究与生产中,差示扫描量仪(DSC)作为一种核心分析仪器,凭借对物质行为的精准探测能力,成为揭示物质内在特性的重要工具。它通过测量样品与参比物之
    的头像 发表于 11-03 10:28 176次阅读
    差示扫描量<b class='flag-5'>热</b>仪:<b class='flag-5'>热</b>分析领域的精准<b class='flag-5'>探测</b>利器

    视频数据流传输的框架搭建思路

    数据流传输模块总框架如下图所示: 这里FPGA板子上会有几个顶层模块,分别是:时钟模块为 LCD 顶层模块、DDR 控制模块以及 I2C 驱动模块提供驱动时钟。I2C 配置模块和 I2C 驱动模块
    发表于 10-24 06:53

    如何利用京东商品详情id拿到商品的详细信息 示例展示

    利用京东商品详情 ID(即 SKU ID)获取商品详细信息,可通过京东开放平台官方 API 或非官方接口(逆向解析)实现。以下是两种方式的示例展示,包含代码实现与数据解析: 一、核心概念:京东
    的头像 发表于 07-10 09:37 1000次阅读

    【HarmonyOS next】ArkUI-X新闻搜聚合App【进阶】

    通过ArkUI-X将鸿蒙下的新闻搜聚合App转换为iOS 一、项目背景与技术选型 1.1 项目概述 本案例基于鸿蒙(HarmonyOS)开发的聚合榜应用,通过调用韩小韩博客提供
    发表于 06-28 21:43

    JD6606SP5-AF 和 JD6606SP5 是一样的吗?

    JD6606SP5-AF 和 JD6606SP5 是一样的吗
    发表于 06-11 10:37

    APP自动化测试框架

    APP自动化测试框架是一套结合工具链、设计模式和技术规范的集成解决方案。以下是基于主流技术实践的核心要点总结: 一、核心模块构成 环境管理‌ 支持物理机/虚拟机/容器化部署,集成ADB、Appium
    的头像 发表于 05-07 07:35 425次阅读
    <b class='flag-5'>APP</b>自动化测试<b class='flag-5'>框架</b>

    京东化底层支撑框架技术分析及随想

    架构涉及的变化和影响,只是从中化演进的思路,及使用的底层支撑技术框架进行分析探讨,重点对中及前台协作涉及到的扩展点及部署包的底层技术细节,结合
    的头像 发表于 04-08 11:29 508次阅读
    <b class='flag-5'>京东</b>中<b class='flag-5'>台</b>化底层支撑<b class='flag-5'>框架</b>技术分析及随想

    VirtualLab Fusion应用:透镜引起焦点偏移的研究

    内部的透镜产生的焦点位移。透镜效应本身由导入的变形表面和根据导入的温度数据计算的非均匀介质定义。 建模任务 在VirtualLab Fusion中构建系统 系统构建块 – 光源 系统构建块
    发表于 03-12 09:43

    京东App上线国内打车服务,目前为第三方接入

    近日,有网络传言称京东App已经上线了打车服务,引起了广泛关注。对此,京东相关负责人进行了回应,并揭示了相关细节。 据京东相关负责人介绍,京东
    的头像 发表于 02-19 14:20 1251次阅读