![](https://img-blog.csdnimg.cn/20201014180756757.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
热key探测
天涯泪小武
开源贡献者,有代码洁癖。京东coder。
展开
-
Java netty获取堆外内存占用
在使用了netty的系统中,有时会出现内存泄露的问题,我们就需要去监控这个堆外内存的占用,以排查是否是堆外泄露,下面的代码就是查看堆外内存的。可以写个定时任务,持续调用doReport方法来获取堆外内存。netty版本需要4.1以上import io.netty.util.internal.PlatformDependent;import org.springframework.stereotype.Component;import org.springframework.util.Refl原创 2020-10-20 09:57:05 · 2014 阅读 · 3 评论 -
京东开源热key探测(JD-hotkey)中间件单机qps 提升17倍实战
京东hotkey框架(JD-hotkey)是京东app后台研发的一款高性能热数据探测中间件,用来实时探测出系统的热数据,并将热数据毫秒内推送至系统的业务集群服务器的JVM内存。以下统称为"热key"。该框架主要用于对任意突发性的无法预先感知的热key,包括并不限于热点数据(如突发大量请求同一个商品)、热用户(如恶意爬虫刷子)、热接口(突发海量请求同一个接口)等,进行毫秒级精准探测到。然后对这些热key,推送到所有服务端JVM内存中,以大幅减轻对后端数据存储层的冲击,并可以由使用者决定如何分配、使用这些热原创 2020-09-01 18:15:57 · 3421 阅读 · 0 评论 -
Netty系列之Netty百万级推送服务设计要点
原文来自于:李林峰https://www.infoq.cn/article/netty-million-level-push-service-design-points/1. 背景1.1. 话题来源最近很多从事移动互联网和物联网开发的同学给我发邮件或者微博私信我,咨询推送服务相关的问题。问题五花八门,在帮助大家答疑解惑的过程中,我也对问题进行了总结,大概可以归纳为如下几类:Netty 是否可以做推送服务器? 如果使用 Netty 开发推送服务,一个服务器最多可以支撑多少个客户端?..转载 2020-08-10 19:25:35 · 1661 阅读 · 1 评论 -
netty结合Protostuff传输对象案例,单机压测秒级接收35万个对象
单纯netty结合protostuff进行rpc对象传输的demo网上有很多,大部分都是一个模子刻出来的,一开始我也是抄了一个,本地测试畅通无阻,未发生任何异常。部署预发环境,进行压测后,问题巨多,各种报错层出不穷。当然,压测时我用的数据量大、发送请求非常密集,单机是每秒前100ms发送2万个对象,其他900ms歇息,死循环发送,共计40台机器作为客户端,同时往2台netty Server服务器发送对象,那么平均每个server每秒大概要接收40万个对象,由于后面还有业务逻辑,逻辑每秒只能处理35万实测。原创 2020-07-31 16:40:43 · 2375 阅读 · 14 评论 -
etcd集群搭建和使用中常见的报错信息(热key探测系列教程)
etcd的下载地址:https://github.com/etcd-io/etcd/releases当前最新的v3.4.9,我之前用的时候包括目前京东热key线上都是用的3.4.6,下面主要是看一下如何搭建etcd集群。如果是本地测试单点的话,就在上面链接下载对应的操作系统版本,打开后直接启动etcd就算本地启动成功了,启动后就可以用etcdctl控制台进行操作,或者用代码操作etcd即可。集群的话,以linux 3节点集群为例。创建一个sh脚本,如下#!/bin/bash原创 2020-07-06 17:53:23 · 2064 阅读 · 2 评论 -
京东毫秒级热key探测框架设计与实践,已完美支撑618大促
在拥有大量并发用户的系统中,热key一直以来都是一个不可避免的问题。或许是突然某些商品成了爆款,或许是海量用户突然涌入某个店铺,或许是秒杀时瞬间大量开启的爬虫用户, 这些突发的无法预先感知的热key都是系统潜在的巨大风险。风险是什么呢?主要是数据层,其次是服务层。热key对数据层的冲击显而易见,譬如数据存放在redis或者MySQL中,以redis为例,那个未知的热数据会按照hash规则被存在于某个redis分片上,平时使用时都从该分片获取它的数据。由于redis性能还不错,再加上集群模式,每秒我们原创 2020-06-28 18:38:53 · 7863 阅读 · 3 评论