Administrator
发布于 2025-11-26 / 11 阅读
0
0

Hyper CDN之openresty流量统计

节点端

流量统计方案

是否命中判断:x_hyper_cache或者x_hyper_cache_l2 的状态为 HIT、REVALIDATED、UPDATING、STALE

如果命中:统计命中流量,命中次数 +1

如果未命中:统计未命中流量和回源流量

持久化方案

暂定 方案2

方案1:

1. pipe读取流量日志
goroutine 1:
2. 把日志时间戳转分钟时间戳,如果分钟时间戳与前一个分钟时间戳一致,则写入缓冲区
3. 如果缓冲区满了或者时间戳分钟不一致,则写入levelDB1, key为 prefix+分钟时间戳+序列号 ,value为缓冲区的日志
goroutine 2:
4. 通过前缀 prefix+当前处理的分钟时间戳 迭代读取levelDB1,把这一分钟的数据预处理,然后上报,并且levelDB1删除该分钟的日志
5. 如果上报失败,写入levelDB2, (数据结构为FIFO队列)
6. 定时读取levelDB2,上报

方案2:

goroutine 1:
1. pipe读取流量日志,写入缓冲区
2. 定时1s触发|缓冲区填满,以站点+分钟时间戳为key聚合缓冲区数据,存入leveldb队列
goroutine 2|1:
1. 定时1分钟读取leveldb队列的数据,以站点+分钟时间戳为key,聚合流量,上报。

安全日志方案


1. pipe读取安全日志
2. 使用限流器丢弃部分日志 (日志过多时丢弃部分日志)
3. 写入缓冲区
4. [缓冲区满了|定时触发] 上报日志

节点状态统计

上报频率:15s

内存使用率: 瞬时内存使用率   (0-10000)

CPU使用率:每秒统计一次,上报时候是那一秒的瞬时CPU使用率   (0-10000)

带宽:15s的平均带宽,单位:Byte/s 

连接数:TCP连接数

管理端

站点流量

统计规则

L1

命中流量

未命中流量

命中次数

请求次数

命中流量

未命中流量

命中次数

请求次数

回源流量

L2

回源流量

-

节点状态统计

15s 

上报数据

上报数据

上报数据

上报数据

60s

最大值

最大值

最大值

最大值



联系邮箱:sales@99cdn.com

授权平台:www.99cdn.com

云平台:www.vmrack.com


评论