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

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

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


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


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


介绍


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


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


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


适用场景:


mysql热数据本地缓存

redis热数据本地缓存

黑名单用户本地缓存

爬虫用户限流

接口、用户维度限流

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

集群用户维度限流

集群接口维度限流

worker 端强悍的性能表现


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


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


image.png

image.png



界面效果


image.png


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



相关文章
|
5月前
|
运维 网络协议 安全
长连接网关技术专题(十):百度基于Go的千万级统一长连接服务架构实践
本文将介绍百度基于golang实现的统一长连接服务,从统一长连接功能实现和性能优化等角度,描述了其在设计、开发和维护过程中面临的问题和挑战,并重点介绍了解决相关问题和挑战的方案和实践经验。
224 1
|
5月前
|
缓存 安全 API
【亿级数据专题】「高并发架构」盘点本年度探索对外服务的百万请求量的API网关设计实现
公司对外开放的OpenAPI-Server服务,作为核心内部系统与外部系统之间的重要通讯枢纽,每天处理数百万次的API调用、亿级别的消息推送以及TB/PB级别的数据同步。经过多年流量的持续增长,该服务体系依然稳固可靠,展现出强大的负载能力。
157 9
【亿级数据专题】「高并发架构」盘点本年度探索对外服务的百万请求量的API网关设计实现
|
存储 Kubernetes 算法
ASI 2021 年双十一万级别超大规模集群的高性能提升
ASI 作为云原生的引领实施者,它的高性能,高可用,它的稳定性影响着甚至决定着阿里集团和云产品的业务的发展。
2314 6
ASI 2021 年双十一万级别超大规模集群的高性能提升
|
3月前
|
算法 网络协议 应用服务中间件
(五)网络编程之流量接入层设计:基于性能怪兽从零构建日均亿级吞吐量的网关架构!
在前篇关于《Nginx》的文章中曾经提到:单节点的Nginx在经过调优后,可承载5W左右的并发量,同时为确保Nginx的高可用,在文中也结合了Keepalived对其实现了程序宕机重启、主机下线从机顶替等功能。
|
5月前
|
存储 消息中间件 Java
【亿级数据专题】「高并发架构」盘点本年度探索对外服务的百万请求量的高可靠消息服务设计实现
在深入研究了 **“【亿级数据专题】「高并发架构」盘点本年度探索对外服务的百万请求量的API网关设计实现”** 设计实现后,我们意识到,尽管API网关为服务商提供了高效的数据获取手段,但实时数据的获取仍然是一个亟待解决的问题。
85 1
【亿级数据专题】「高并发架构」盘点本年度探索对外服务的百万请求量的高可靠消息服务设计实现
|
5月前
|
消息中间件 Java 程序员
阿里巴巴高并发架构到底多牛逼?是如何抗住淘宝双11亿级并发量?
众所周知,在Java的知识体系中,并发编程是非常重要的一环,也是面试的必问题,一个好的Java程序员是必须对并发编程这块有所了解的。
|
11月前
|
监控 网络协议 应用服务中间件
谈谈游戏服务器单区QPS的计算
谈谈游戏服务器单区QPS的计算
174 0
|
12月前
|
缓存 NoSQL 关系型数据库
性能第三讲:百万级QPS,支撑淘宝双11需要哪些技术
性能第三讲:百万级QPS,支撑淘宝双11需要哪些技术
1046 0
|
负载均衡 API
直播源码解决同时在线高并发的方案
直播源码搭建直播平台,直播源码技术就是其中重要的一环,而直播源码技术的功能又是直播软件app平台开发的重要环节,今天我为大家分享直播源码技术高并发问题解决。
直播源码解决同时在线高并发的方案
|
机器学习/深度学习 存储 缓存
如何实现2000万QPS?Meta揭秘背后的AI平台MultiRay:日均处理8000亿次请求!
如何实现2000万QPS?Meta揭秘背后的AI平台MultiRay:日均处理8000亿次请求!
225 0
如何实现2000万QPS?Meta揭秘背后的AI平台MultiRay:日均处理8000亿次请求!
下一篇
无影云桌面