当前位置: 首页 > news >正文

南通seo网站排名优化定制高端网站建设公司

南通seo网站排名优化,定制高端网站建设公司,网页制作背景图片,重庆妇科医院排名前十名限流策略有哪些#xff0c;滑动窗口算法和令牌桶区别#xff0c;使用场景#xff1f; 常见的限流算法有固定窗口、滑动窗口、漏桶、令牌桶等。 6.1 固定窗口 概念#xff1a;固定窗口#xff08;又称计算器限流#xff09;#xff0c;对一段固定时间窗口内的请求进行…限流策略有哪些滑动窗口算法和令牌桶区别使用场景 常见的限流算法有固定窗口、滑动窗口、漏桶、令牌桶等。 6.1 固定窗口 概念固定窗口又称计算器限流对一段固定时间窗口内的请求进行一个计数如果请求数量超过阈值就会舍弃这个请求如果没有达到设定阈值就直接接受这个请求。 public class FixedWindowRateLimiter1 {private final int windowSize;private final int limit;private final AtomicInteger count;private final ReentrantLock lock;public FixedWindowRateLimiter1(int windowSize, int limit) {this.windowSize windowSize;this.limit limit;this.count new AtomicInteger(0);this.lock new ReentrantLock();}public boolean allowRequest() {lock.lock();try {long currentTimestamp Instant.now().getEpochSecond();int currentCount count.get();if (currentCount limit) {count.incrementAndGet();return true;} else {return false;}} finally {lock.unlock();}}public static void main(String[] args) throws InterruptedException {FixedWindowRateLimiter1 rateLimiter new FixedWindowRateLimiter1(5, 3);// 测试通过的请求for (int i 0; i 10; i) {if (rateLimiter.allowRequest()) {System.out.println(Request (i 1) : Allowed);} else {System.out.println(Request (i 1) : Denied);}TimeUnit.SECONDS.sleep(1);}} }在上述代码中我们引入了 ReentrantLock 和 AtomicInteger分别用于保证线程安全的访问和原子的计数操作。通过在 allowRequest() 方法中使用 lock 对关键代码段进行加锁和解锁确保同一时间只有一个线程能够进入关键代码段。使用 AtomicInteger 来进行计数操作保证计数的原子性。 6.2 滑动窗口 概念滑动窗口算法是一种基于时间窗口的限流算法它将时间划分为固定大小的窗口并统计每个窗口内的请求数量。算法维护一个滑动窗口窗口内的位置表示当前时间片段每个位置记录该时间片段内的请求数量。当请求到达时算法会根据当前时间判断应该归入哪个时间片段并检查该时间片段内的请求数量是否超过限制。 以滑动窗口算法为例每秒最多允许通过3个请求 public class SlidingWindowRateLimiter {private final int limit; // 限流阈值private final int interval; // 时间窗口长度private final AtomicLong counter; // 计数器private final long[] slots; // 时间窗口内每个时间片段的请求数量private long lastTimestamp; // 上次请求时间private long currentIntervalRequests; // 当前时间窗口内的请求数量public SlidingWindowRateLimiter(int limit, int interval) {this.limit limit;this.interval interval;this.counter new AtomicLong(0);this.slots new long[interval];this.lastTimestamp System.currentTimeMillis();this.currentIntervalRequests 0;}public boolean allowRequest() {long currentTimestamp System.currentTimeMillis();if (currentTimestamp - lastTimestamp interval) {// 超过时间窗口重置计数器和时间窗口counter.set(0);slots[0] 0;lastTimestamp currentTimestamp;currentIntervalRequests 0;}// 计算请求数量long currentCount counter.incrementAndGet();if (currentCount limit) {// 未达到阈值请求通过slots[(int) (currentCount - 1)] currentTimestamp;currentIntervalRequests;return true;}// 达到阈值判断最早的时间片段是否可以通过long earliestTimestamp slots[0];if (currentTimestamp - earliestTimestamp interval) {// 最早的时间片段超过时间窗口重置计数器和时间窗口counter.set(0);slots[0] 0;lastTimestamp currentTimestamp;currentIntervalRequests 0;return true;}return false;}public long getRequestsPerSecond() {return currentIntervalRequests * 1000 / interval;} }public class SlidingWindowRateLimiterTest {public static void main(String[] args) throws InterruptedException {// 创建一个限流器限制每秒最多通过3个请求SlidingWindowRateLimiter rateLimiter new SlidingWindowRateLimiter(3, 1000);// 模拟连续发送请求long startTime System.nanoTime();for (int i 1; i 10; i) {if (rateLimiter.allowRequest()) {System.out.println(Request i allowed);} else {System.out.println(Request i blocked);}Thread.sleep(100); // 模拟请求间隔时间}System.out.println((System.nanoTime()-startTime)/1000000000.0);} }6.3 令牌桶算法 概念令牌桶算法基于令牌的发放和消耗机制令牌以固定的速率被添加到令牌桶中。每个请求需要消耗一个令牌才能通过当令牌桶中的令牌不足时请求将被限制。令牌桶算法可以平滑地限制请求的通过速率对于突发流量有较好的处理能力。
http://www.w-s-a.com/news/728446/

相关文章:

  • 织梦网站转跳手机站注册公司代理记账费用
  • wordpress建站Pdf亚马逊aws在线观看
  • 做网站的外包公司有哪些WordPress调用json数据
  • 做网站网站怎么赚钱网站的建设及维护报告
  • 可以做效果图的网站东莞网站优化什么方法
  • 网站和软件的区别怎么做招生网站
  • 雄安免费网站建设电话如何做网站推广 求指点
  • 十大免费cad网站入口软件北京做网站建设价格
  • 建设一个公司网站要具备什么网页制作的专业
  • 东莞seo建站排名全包网站
  • 网站建设的基本步骤有哪些软件商店下载官方
  • 网站建设开发报告论文hao123上网从这里开始官方
  • 阿里云建网站费用徐州房产网
  • 网站统计分析平台做企业礼品的网站
  • 做可视化图表的网站wordpress批量导入tag
  • txt怎么做网站网站的链接结构包括
  • 适合平面设计师的网站网络营销专员的就业前景
  • 好订单网服装加工接单谷歌seo网站推广怎么做
  • seo泛站群外贸网站建设团队
  • 网站免费维护建立网站国家城乡建设部投诉网站
  • 企业网站必须备案吗wordpress导入数据库依然无法链接
  • 浅谈高校网站群的建设网站不支持m.域名
  • 和平网站建设公司做实验教学视频的网站
  • 音乐网站源码带手机版WordPress菜单调用不出
  • 昆明网站设计都需要设计什么网络推广岗位职责和任职要求
  • 国外公司网站模板网站建设公司选择意见书
  • 如何创建一个网站卖东西郑州 网站建设公司
  • 石景山郑州阳网站建设南京网站搜索引擎优化
  • 一个网站需要哪些备案书店网站建设策划书总结
  • 网站建设的重点是什么注册网站空间