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

东莞寮步网站建设wordpress安装在windows上

东莞寮步网站建设,wordpress安装在windows上,html移动网站开发,wordpress把logo变大固定算法 原理#xff1a;固定算法是将时间线分隔成固定大小的时间窗口#xff0c;每个窗口都会有个计数器#xff0c;用来记录窗口时间范围内的请求总数#xff0c;如果窗口的请求总数达到最大限定值#xff0c;会认定流量超限。比如将窗口大小设为1分钟#xff0c;每分…固定算法 原理固定算法是将时间线分隔成固定大小的时间窗口每个窗口都会有个计数器用来记录窗口时间范围内的请求总数如果窗口的请求总数达到最大限定值会认定流量超限。比如将窗口大小设为1分钟每分钟请求最大数为2 请求在00:00:24时刻到来的时候会落在窗口1内计数器值为1下一个请求在00:00:36时刻也会落在窗口1内计数器值1变成第三个请求在00:00:49时刻来到此时计数器值已达到最大限定值2请求会被拒掉最后一个请求在00:01:12到来会落在窗口2内。 固定算法的缺点 固定算法只能判断单个窗口内的请求总数但是无法判断相邻的两个窗口落在相邻窗口的两个请求时间间隔完全有可能在一个窗口时间范围内。比如00:00:58和00:00:59两个时刻各有一个请求过来窗口1的计数器值为2 第三个请求在00:01:01到来会落在窗口2内但是00:00:58和00:01:01之间没有超过一个单元时间1分钟但是请求总数已经超过最大限定值2。 滑动窗口算法 为了优化固定算法的缺点将固定大小的时间窗口分成更小的时间窗口比如1min的窗口分成6个10s的小窗口。 实现一简单无脑版 思路 1. 使用一个MapcounterMap 用来存储每个时间戳的请求总数 2. 请求到来时会将单位时间之前now-timeUnit的所有请求记录全部清除 3. 统计单位时间timeUnit内的请求总数 4. 判断请求总数是否超过请求阈值capacity超过则返回false 5. 没有超过,则记录当前时间戳和请求。源码 public class SlidingWindow3 {/*** 单位时间请求阈值*/private int capacity;/*** 单位时间/ms*/private long timeUnit;/*** 时间戳计数器*/private MapLong,Integer counterMap new HashMap();public SlidingWindow3(int capacity, long timeUnit) {this.capacity capacity;this.timeUnit timeUnit;}public synchronized boolean tryAcquire() {long now System.currentTimeMillis();long start now-timeUnit;IteratorMap.EntryLong, Integer iterator counterMap.entrySet().iterator();while (iterator.hasNext()){if(iterator.next().getKey()start){iterator.remove();}}iterator counterMap.entrySet().iterator();int totalCount 0;while (iterator.hasNext()){totalCount iterator.next().getValue();}if(totalCount capacity){return false;}if(counterMap.containsKey(now)){counterMap.put(now,counterMap.get(now)1);}else {counterMap.put(now,1);}return true;} }测试 public static void main(String[] args) throws InterruptedException {SlidingWindow3 slidingWindow new SlidingWindow3(2, 1000);for (int j 0; j 10; j) {System.out.println(第 j 轮测试);int concurrency 30;CyclicBarrier cyclicBarrier new CyclicBarrier(concurrency);for (int i 1; i concurrency; i) {new Thread(Thread: i) {Overridepublic void run() {try {cyclicBarrier.await();if (slidingWindow.tryAcquire()) {System.out.println(name: Thread.currentThread().getName() get permit);}} catch (InterruptedException e) {e.printStackTrace();} catch (BrokenBarrierException e) {e.printStackTrace();}}}.start();}Thread.sleep(3 * 1000L);}}结果 参考 《Rate-Limiter-Part1》
http://www.hkea.cn/news/14322260/

相关文章:

  • 抚州市建设局官网站什么是网络科技公司
  • 建设网站包括哪些网站建设:中企动力
  • 网站推广策划书怎么说三星网上商城退款很慢
  • 公司网站建设行业怎么样wordpress博客文章栏目
  • 给公司做网站要多少钱网站运营包括哪些
  • 重庆快速网站推广上海企业建站流程
  • 网站排名快速提升工具怎么做网站规划
  • 金华网站建设公司h5响应式的网站
  • 哪一个做h5的网站好公司网站开发交接注意事项
  • 网站搭建一般要自己做的网站百度搜不到
  • 深圳互动网站建设安徽省交通运输厅门户网站
  • 贸易公司网站源码长春建设网站公司吗
  • 中国做陶壶的网站有哪些wordpress 新文章后显示
  • 宁波企业网站搭建价格网上开店的流程是什么
  • 贵阳网站建设价格金光华网站建设
  • 文明网站建设方案及管理制度国际贸易英文网站
  • 网站解析怎么设置十大求职招聘app排行
  • 网站需要每个城市做推广吗郑州汉狮哪家做网站好
  • 提高网站建设管理水平怎样看网站是什么语言做的
  • 基于ASP与Access数据库的网站开发wordpress页面设计
  • 网站后台 登录界面模板 远吗江苏网站设计
  • 制作企业网站素材视频网站空间商排名
  • 哪些动物可以做网站名设计不错的网站
  • 网站系统建设需要什么资质女生学市场营销好吗
  • 你的网站正在建设中互动营销策略
  • 惠安县住房和城乡建设局网站深圳住房和建设管理局官方网站
  • 商城网站建设适合于哪类企业wordpress页面数据库
  • 电脑单页网站建设小程序源码如何部署到服务器
  • 上海做网站公wordpress更改站点名称
  • react怎么做pc网站静态网站开发用到的技术