软件介绍
JD hotkey 是京东零售在 Gitee 上开源的热 key 探测中间件,用于京东 App 后台。它能在毫秒级发现突发的热点数据,例如被集中请求的商品、爬虫类的热用户,以及被海量请求的热接口,并把这些热 key 推送到应用集群里每台机器的 JVM 内存中,从而减轻后端数据存储层的查询压力。
核心功能
- 热 key 探测:客户端在本地统计 key 的访问并批量上报,worker 集群负责判定热 key。
- 集群推送与一致性:热 key 通过长连接推送到所有客户端,并在整个应用集群内保持一致。
- 自定义规则:可按应用配置统计时间间隔、命中阈值、前缀匹配和缓存时长等规则。
- 客户端接口:提供
isHotKey、get、smartSet、getValue等方法,由业务自行决定如何使用热 key,例如做本地缓存、拒绝访问热用户、对热接口熔断或返回默认值。 - 控制台:自带 Web 控制台,用于管理应用、规则、用户和 worker 节点。
支持平台与系统要求
JD hotkey 面向 Java 应用,使用 Maven 构建,worker 以 JAR 方式运行。规则和 worker 信息由 etcd(3.4.x 及以上)保存,控制台需要数据库支持。项目建议使用 Guava 28.2-jre 及以上、fastjson 1.2.70,必要时需排除冲突的 Guava 版本。它不是带安装界面的桌面软件,而是需要集成进后端服务的框架。
版本与授权
项目采用 Apache License 2.0 开源。Gitee 页面当前显示 master-v0.0.4 分支,没有正式发行版和标签。
适用人群或使用场景
适合需要应对大促、突发流量的 Java 后端团队,可用于 MySQL 或 Redis 热数据的本地缓存、黑名单用户缓存,以及接口或用户维度的限流。
版本列表
-
-
-
JD hotkey v1.0.20201231 官方版
JD hotkey(京东轻量级热key探测框架),JDhotkey京东轻量级热key ...
软件大小:5.3 MB 更新时间:2021-03-17
-
