braum源码分析(四)-Braum的属性配置及其他

开始

本篇主要分析braum的属性配置BraumProperties。

BraumProperties

BraumProperties的属性配置都在braum.limit.access下面。主要有

    /*** 连续访问最高阀值,超过该值则认定为恶意操作的IP* 单位:次 默认为20*/private int threshold = 20;/*** 间隔时间,在该时间内如果访问次数大于阀值,则记录为恶意IP,否则视为正常访问* 单位:毫秒(ms),默认为 5秒*/private long interval = 5000;/*** 限制访问的容错值,容错值范围内(0 < x < faultTolerance)过了限制时间就可正常访问,一旦大于容错值,						     则进行限制访问* 默认为-1,表示不进行直接限制**/private int faultTolerance = -1;/*** 当检测到恶意访问时,对恶意访问的ip进行限制的时间* 单位:毫秒(ms),默认为 1分钟*/private long limitedTime = 60000;/*** 黑名单存在的时间,在单位时间内用户访问受限的次数累加* 单位:毫秒(ms),默认为 1个月*/private long blacklistTime = 2592000000L;/*** 缓存类型,默认为map存储*/private BraumCacheType type = BraumCacheType.MAP;

这边这些参数配置主要用于实现如下逻辑:

  1. 如果单位时间(interval)内访问次数超过threshold,就禁止访问一定的时间limitedTime,默认为1分钟。

  2. 如果禁止访问的次数超过faultTolerance,就加入黑名单,黑名单禁止访问的时间更长,默认为一个月。

BraumLogoApplactionListener

这个BraumLogoApplactionListener是ApplicationListener 的实现,主要用于启动的时候打印logo。可选的方式三种:控制台输出,log输出,不输出。

GlobalBraumCacheException

继承RuntimeException实现异常,这个貌似没用到啊。

utils

utils里面主要有两个class,分别是GlobalBraumUtil、RequestUtil

GlobalBraumUtil

主要是生成key,把点和冒号间隔符转为“_”。

RequestUtil

主要用于处理resquest,实现了如下的方法:
在这里插入图片描述

其他

更多源码解析,关注我学源码网


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部