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

3、在实在业务场景中:

可用1:1000的比例,即1台worker撑持1000台业务服务端的key探测工作,即可带来极大的数据存储资源节俭(如对redis集群的裁减)。

介绍

对任意突发性的无奈事后感知的热点申请,包含并不限于热点数据(如突发大量申请同一个商品)、热用户(如爬虫、刷子)、热接口(突发海量申请同一个接口)等,进行毫秒级精准探测到。而后对这些热数据、热用户等,推送到该利用部署的所有机器JVM内存中,(关注微信公众号民工哥技术之路,后盾回复关键字 Java全栈常识体系 能够获取一份学习路线PDF)以大幅加重对后端数据存储层的冲击,并能够由客户端决定如何应用这些热key(譬如对热商品做本地缓存、对热用户进行回绝拜访、对热接口进行熔断或返回默认值)。这些热key在整个利用集群内放弃一致性。

外围性能:热数据探测并推送至集群各个服务器。

实用场景

  • 1、 mysql热数据本地缓存
  • 2、 redis热数据本地缓存
  • 3、 黑名单用户本地缓存
  • 4、 爬虫用户限流
  • 5、 接口、用户维度限流
  • 6、 单机接口、用户维度限流限流
  • 7、 集群用户维度限流
  • 8、 集群接口维度限流

该开源我的项目战略意义重大,经验百万级并发,参加京东开源中间件我的项目建设,始终在等你。

界面成果

开源地址

https://gitee.com/jd-platform...