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

南充北京网站建设深圳大型互联网公司

南充北京网站建设,深圳大型互联网公司,做网站做得好的公司有哪些,分析网站结构文章目录 1、Sentinel与Hystrix的区别2、限流算法3、限流算法对比4、Sentinel限流与Gateway限流 1、Sentinel与Hystrix的区别 线程隔离有两种方式实现#xff1a; 线程池隔离#xff08;Hystrix默认采用#xff09;信号量隔离#xff08;Sentinel默认采用#xff09; 服… 文章目录 1、Sentinel与Hystrix的区别2、限流算法3、限流算法对比4、Sentinel限流与Gateway限流 1、Sentinel与Hystrix的区别 线程隔离有两种方式实现 线程池隔离Hystrix默认采用信号量隔离Sentinel默认采用 服务I需要远程调用服务A、服务B则创建两个线程池分别用来处理服务I–服务A和服务I–服务B的请求。和线程池隔离不同的是信号量隔离比较轻量级就维护一个计数器就好不用去维护线程数量。二者的优缺点来说线程池隔离的优点是 支持主动超时线程是我定义的我自己可以来中断、超时支持异步调用 缺点则是 线程的额外开销比较大 总结就是 Hystix默认是基于线程池实现的线程隔离每一个被隔离的业务都要创建一个独立的线程池线程过多会带来额外的CPU开销性能一般但是隔离性更强。 Sentinel是基于信号量计数器实现的线程隔离不用创建线程池性能较好但是隔离性一般。 2、限流算法 限流对应用服务器的请求做限制避免因过多请求而导致服务器过载甚至宕机。 限流算法常见的包括两种 计数器算法又包括窗口计数器算法、滑动窗口计数器算法令牌桶算法Token Bucket漏桶算法(Leaky Bucket) 计数器算法之固定窗口计数器算法 固定窗口计数器的实现为 将时间划分为多个窗口窗口的时间跨度称为Interval比如取1000ms每个窗口维护一个计数器每有一次请求就将计数器加一限流就是设置计数器阈值本例为3当该窗口所在时间里请求数超过阈值则超出部分的请求直接都被丢弃 固定窗口计数有个问题就是如下图当4000-5000ms的前500ms没请求4500-5000ms刚好三个请求此时未达阈值。5000-6000ms中前500ms有三个请求后500ms没请求则5000-6000也未达阈值。但从4500-5500ms这一秒则有6个请求如果服务真的最多只能承受QPS3则这样服务可能宕机。 计数器算法之滑动窗口计数器算法 滑动窗口计数器算法会将一个窗口划分为n个更小的区间在窗口的基础上引入区间的概念 窗口时间跨度Interval为1秒区间数量 n 2 则每个小区间时间跨度为500ms限流阈值依然为3时间窗口1秒内请求超过阈值时超出的请求被限流此时的窗口不再是固定的1000-2000ms或者1500-2500ms而是 根据当前请求所在时间currentTime移动 这个滑动窗口范围是从currentTime减去Interval之后的第一个时区开始到currentTime所在时区结束来做为统计的窗口 举个例子如上图比如1250ms有个请求进来则1250-1000250250ms之后的第一个时区则是500到1000区间1250ms自身所在时区为1000到1500ms所以对应的滑动窗口就是500到1500ms这个时区。图中紫色虚线 如上图再往后1300ms有个请求此时滑动窗口计算后还是500-1500ms这个窗口当前共有三个请求分别在900ms、1250ms、1300ms到达。此时1400ms再来一个滑动窗口计算后还是500-1500ms但显然这个窗口QPS已经到3了1400ms的请求会被丢弃。到此固定窗口的统计问题得到了解决。 再往后2100ms则计算后滑动窗口在1500到2500ms紫色虚线未达QPS阈值但看1250ms到2100ms这850ms的时间不到一个窗口时间跨度Interval却有4个请求 3 。这个就是区间划分的问题了区间越小则限流越准。 比如以125ms为一个区间2100-10001100在1000到1125区间下一个为1125到1250所以滑动窗口为1125到2125ms这个窗口已有1250、1300、1600到的三个请求因此2100会被丢弃。 当然不管这个区间多小总有可能有卡边界前后请求导致QPS超过的情况。考虑上现实世界这个窗口是没必要设置成极限值的比如1ms差不多100ms就已经可以解决大多情况。 令牌桶算法 以固定的速率生成令牌存入令牌桶中如果令牌桶满了以后多余令牌丢弃请求进入后必须先尝试从桶中获取令牌获取到令牌后才可以被处理如果令牌桶中没有令牌则请求等待或丢弃 漏桶算法 将每个请求视作水滴放入漏桶进行存储漏桶以固定速率向外漏出请求来执行如果漏桶空了则停止漏水”如果漏桶满了则多余的水滴会被直接丢弃可以理解成请求在桶内排队等待 Sentinel在实现漏桶算法时采用了排队等待模式。让所有请求进入一个队列中然后按照阈值允许的时间间隔依次执行。并发的多个请求必须等待预期的等待时长 最近一次请求的预期等待时间 允许的间隔。如果请求预期的等待时间超出最大时长则会被拒绝。 例如 - QPS 5意味着每200ms处理一个队列中的请求 - timeout 2000意味着预期等待超过2000ms的请求会被拒绝并抛出异常3、限流算法对比 因为计数器算法一般都会采用滑动窗口计数器所以这里我们对比三种算法 4、Sentinel限流与Gateway限流 限流算法常见的有三种实现滑动时间窗口、令牌桶算法、漏桶算法。Gateway则采用了基于Redis实现的令牌桶算法。而Sentinel内部却比较复杂 默认限流模式是基于滑动时间窗口算法排队等待的限流模式则基于漏桶算法而热点参数限流则是基于令牌桶算法
http://www.ho-use.cn/article/10819936.html

相关文章:

  • 济南市住建局官方网站网址安全检测中心
  • 舵落口网站建设wordpress动态行情页面
  • 做网站需要租服务器吗wordpress主题如何使用
  • 源码分享网站网站制作结算确认函
  • 自己做的网站验证码出不来怎么回事素材网站怎么推广
  • 怎么样搭建qq号网站做网站没有高清图片怎么办
  • 展示型网站解决方案福建网站建设费用
  • 美食烹饪网站策划书做简历的网站叫什么软件
  • 个人做的小网站需要备案公司网站建设的意义方案
  • 如何建设个人网站凡科怎么样Vantage wordpress主题
  • 中国建设银行网站-诚聘英才网站的页面
  • 如何优化网站关键词厂字形网页布局网站
  • 网站类别页面怎么做最近一周的国内新闻
  • 建瓯网站制作网站建设会议议程
  • 古交做网站网站信息安全建设方案
  • 个人的视频网站如何做嘉兴网站专业制作
  • 编程网站项目做哪个比较好做网站怎么切psd图
  • 网站被抄袭怎么办网站图片处理方案
  • 赶集网站建设多少钱微商城怎么开
  • 凡科网站官网百度一下网页
  • 外贸cms 网站wordpress4.5 ueditor 1.4.3
  • 免费公司注册网站吗深圳网站建设服务中心官网
  • 深圳中小企业网站建设帝国cms手机网站模板
  • 杭州 网站定制asp.net网站运行助手
  • 深圳门户网站wordpress软件下载主题
  • 如何破解网站后台密码加强服务保障满足群众急需ruu7
  • 百度网站地图提交网站做pc
  • 如何制作餐馆网站网站建设技巧亅金手指排名25
  • 茂名网站建设维护口碑好的定制网站建设制作商
  • 公司网站建设服务公司企业网络推广网站建设