发布于 2018-01-02 01:01:26 | 124 次阅读 | 评论: 0 | 来源: 网友投递

这里有新鲜出炉的精品教程,程序狗速度看过来!

腾讯

腾讯控股有限公司(腾迅)是一家民营IT企业,成立于1998年11月29日,总部位于中国广东深圳,是中国最大的互联网综合服务提供商之一,也是中国服务用户最多,最广的互联网企业之一。


libwxfreq 是腾讯 2018 年开源的首个项目,这是一个采用多级 hash 作为底层存储模型的高性能通用频率控制组件。通过简洁的几个接口,既可以单机使用,也可以配合其他网络框架,轻松搭建一个通用的频率控制服务。

组件特性:

  • 高度可配置:统计维度可配置、统计时长可配置、频率规则可配置

  • 支持任意 key 类型

  • 底层存储模型无锁化设计

配置文件

  1. 格式

appid的元信息,指明apppid的统计时长。默认第一个统计时长是60s,第二个统计时
时长是3600s, 第三个是86400s。可以手动修改任何一个统计时长为[0, 86400]

[appid]

5 = 30, 60, 90 // appid为5的统计时长分别是30s 60s 90s
25 = 10, 60 // appid为25的统计时长分别是10s 60s 86400s

频率规则, 用于说明某个appid的阈值, 拦截等级等
[match_rule_name] // 规则名字,用户指明中了哪条规则
match_appid = 5 // 匹配的appid
block_level = 1 // 拦截等级, 大于0
rule_type = user // 规则对应的key类型
item = min_interval >= 4 // 具体的阈值表达式, 支持大于和等于

min_interval 表示第一个统计时长的统计值,                    mid_interval 表示第二个统计时长的统计值,                          max_interval 表示第三个统计时长的统计值.
  1. 例子

[appid]  100 = 30, 60, 90    [rule1]  match_appid = 100  item =  min_interval >= 10  block_level = 1  rule_type = user    [rule2]  match_appid = 100  item =  mid_interval >= 15   block_level = 1  rule_type = user    [rule3]  match_appid = 100  item =  max_interval >= 20  block_level = 1  rule_type = user    [rule4]  match_appid = 100  item =  min_interval >= 100  block_level = 1  rule_type = ip     [rule5]  match_appid = 100  item =  mid_interval >= 150  block_level = 1  rule_type = ip     [rule6]  match_appid = 100  item =  max_interval >= 200   block_level = 1  rule_type = ip


最新网友评论  共有(0)条评论 发布评论 返回顶部

Copyright © 2007-2017 PHPERZ.COM All Rights Reserved   冀ICP备14009818号  版权声明  广告服务