【文件属性】:
文件名称:hotDetect:自动探测热点
文件大小:92KB
文件格式:ZIP
更新时间:2021-04-16 13:03:39
Go
自动探测热点
一个自动探测热点的SDK【本地探测】
接口埋点统计,埋点对象可以是数字、string等,一般是被访问对象id
通过滑动窗口+频率计数+优先队列计算Top-K,K由业务方参数决定
通过业务回调定时回传上一次窗口热点ID TOP-K,窗口时间由业务方参数决定
可以用于解决高并发下的热点问题。
项目简介
基于SDK自动探测出热点ID
将热点ID上报,或者将对应数据缓存到本地
接口优先从本地缓存读取数据,miss才从下游存储中获取
这样热点数据大部分会在缓存中被命中,也就解决了热点问题
基础理论模型、实践样例、衍生问题等可参考下面【资料】。
代码示例
创建一个热点探测实例:
import "hotDetect"
func callback((list []hotDetect.TopItem)) {
// hotDetect会将top-k的热点通过该回调定时传回来
//
【文件预览】:
hotDetect-master
----detect_test.go(550B)
----freq.go(2KB)
----readme.md(2KB)
----topN.go(914B)
----ring.go(1KB)
----doc()
--------hotDetect.png(114KB)
----detect.go(3KB)