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

土特产网站模板/网站设计的毕业论文

土特产网站模板,网站设计的毕业论文,郑州互联网seo,我想看b站直播怎近期在研究Jaeger,Jaeger中有一种采集策略是速率限制类型,内部使用的是漏桶算法,在这里研究了下Jaeger漏桶算法的实现原理,自己仿照其实现了一个rateLimiter,并进行了相关测试,下面是主要实现。 lck&#…

近期在研究Jaeger,Jaeger中有一种采集策略是速率限制类型,内部使用的是漏桶算法,在这里研究了下Jaeger漏桶算法的实现原理,自己仿照其实现了一个rateLimiter,并进行了相关测试,下面是主要实现。

  • lck:lck是互斥锁,主要用来防止并发情况下产生错误。
  • rate:速率,即接口每秒限制多少个请求。在这里也就是水滴从漏桶中流出的速度,同时也是余量增加的速度。
  • balance:漏桶的空闲余量,会随着漏桶滴水逐渐变大;如果将请求添加到漏桶中,会逐渐变小。当请求到来时,如果余量不足1,那么表明不能容下当前的请求,当前的请求会被拒绝。
  • limit:漏桶的最大容量。
  • lastTime:上次调用Check函数的时间。用于计算时间差dur,然后计算这段时间漏桶流出的水w,增加的余量=流出的水量w=时间*速率=dur*rate。

rateLimiter实现代码:

package ratelimiterimport ("sync""time"
)type rateLimiter struct {lck      *sync.Mutexrate     float64   //最大速率限制balance  float64   //漏桶的余量limit    float64   //漏桶的最大容量限制lastTime time.Time //上次检查的时间
}func NewRateLimiter(limitPerSecond int, balance int) *rateLimiter {return &rateLimiter{lck:      new(sync.Mutex),rate:     float64(limitPerSecond),balance:  float64(balance),limit:    float64(balance),lastTime: time.Now(),}
}func (r *rateLimiter) Check() bool {ok := falser.lck.Lock()now := time.Now()dur := now.Sub(r.lastTime).Seconds()r.lastTime = nowwater := dur * r.rate //计算这段时间内漏桶流出水的流量waterr.balance += water    //漏桶流出water容量的水,自然漏桶的余量多出waterif r.balance > r.limit {r.balance = r.limit}if r.balance >= 1 { //漏桶余量足够容下当前的请求r.balance -= 1ok = true}r.lck.Unlock()return ok
}

单元测试代码:

package ratelimiterimport ("fmt""testing""time"
)func TestRateLimiter_Check(t *testing.T) {limiter := NewRateLimiter(10, 1)start := time.Now()count := 0for i := 0; i < 1e3; i++ {if limiter.Check() {fmt.Println(i)count++}time.Sleep(time.Millisecond)}fmt.Println("count:", count)fmt.Println(time.Now().Sub(start).Seconds())
}

测试结果:每秒限制10个,1.3秒接受了13个请求,加上一开始填满桶的一个,共14个。

http://www.jmfq.cn/news/4742209.html

相关文章:

  • 网站做后台教程/网站关键词排名优化推广软件
  • 网站建设开发原代码归属/海口网站排名提升
  • 站长工具关键词挖掘/app营销
  • 网站做广告投放 做销售线索预估/怎么做
  • 好的网站制作/seo关键词词库
  • 影视公司注册/简阳seo排名优化培训
  • 长沙 网站设计 公司/怎么百度推广
  • 网站开发过程记录/东莞网络营销推广专业
  • 建设网站会员登陆/谷歌排名
  • 新手学做网站pdf/站长统计app下载大全
  • 做四级题目的网站/网络营销最火的案例
  • 天津房地产最新消息/电子商务seo
  • 如何查询网站建立时间/哪个平台推广效果好
  • 做果盘网站/seo是什么职业
  • 有做网站赚钱的吗/网站建设对企业品牌价值提升的影响
  • 网站后台怎么用/太原做网站的
  • phpstudy2016快速搭建网站/哈尔滨seo服务
  • 网站开发常用单词/seo推广的特点
  • 目录网站做外链/2022年近期重大新闻事件
  • 顺德网站建设收费标准/seo文章优化技巧
  • jsp网站开发实例精讲/俄罗斯搜索引擎推广
  • 软件开发外包合同范本/安卓系统优化大师
  • 哪个网站上做ppt比较好看/每日新闻
  • 网站左侧浮动代码/做网上推广
  • 现在外国有哪个网站可以做卖东西/网店推广平台
  • 响应式网站模板 视差/软文广告范文
  • 自己做的网站某些电脑打不开/阿里指数查询官网入口
  • wordpress内容页文件名/南昌seo排名
  • 疫情最新消息今天新增病例全国/郑州怎么优化网站排名靠前
  • 西安定制网站建设/关键词优化工具