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

青岛做网站企业网站建设考试题

青岛做网站企业,网站建设考试题,全国公示信用信息系统,做搜狗pc网站软件下载一、基础概念 1.什么是服务限流#xff1f; 限流在日常生活中也很常见#xff0c;比如节假日你去一个旅游景点#xff0c;为了不把景点撑爆#xff0c;管理部门通常会在外面设置拦截#xff0c;限制景点的进入人数#xff08;等有人出来之后#xff0c;再放新的人进去…一、基础概念 1.什么是服务限流 限流在日常生活中也很常见比如节假日你去一个旅游景点为了不把景点撑爆管理部门通常会在外面设置拦截限制景点的进入人数等有人出来之后再放新的人进去。 对应到计算机中限流是从用户访问压力的角度来考虑如何应对故障保护系统不会在过载的情况下出现问题这就就需要限流。 限流只允许系统能够承受的访问量进来超出系统访问能力的请求将被丢弃。比如要搞活动秒杀等通常都会限流。 2.限流的策略 说到限流有个关键问题就是你根据什么策略进行限制 限流一般需要结合容量规划和压测来进行。当外部请求接近或者达到系统的最大阈值时触发限流采取其他的手段进行降级保护系统不被压垮。常见的降级策略包括延迟处理、拒绝服务、随机拒绝等。 限流的目的是通过对并发访问进行限速相关的策略一般是一旦达到限制的速率那么就会触发相应的限流行为。一般来说触发的限流行为如下。 拒绝服务。把多出来的请求拒绝掉。一般来说好的限流系统在受到流量暴增时会统计当前哪个客户端来的请求最多直接拒掉这个客户端这种行为可以把一些不正常的或者是带有恶意的高并发访问挡在门外。 服务降级。关闭或是把后端服务做降级处理。这样可以让服务有足够的资源来处理更多的请求。降级有很多方式一种是把一些不重要的服务给停掉把 CPU、内存或是数据的资源让给更重要的功能一种是不再返回全量数据只返回部分数据。 因为全量数据需要做 SQL Join 操作部分的数据则不需要所以可以让 SQL 执行更快还有最快的一种是直接返回预设的缓存以牺牲一致性的方式来获得更大的性能吞吐。 特权请求。所谓特权请求的意思是资源不够了我只能把有限的资源分给重要的用户比如分给权利更高的 VIP 用户。在多租户系统下限流的时候应该保大客户的所以大客户有特权可以优先处理而其它的非特权用户就得让路了。 延时处理。在这种情况下一般会有一个队列来缓冲大量的请求这个队列如果满了那么就只能拒绝用户了如果这个队列中的任务超时了也要返回系统繁忙的错误了。使用缓冲队列只是为了减缓压力一般用于应对短暂的峰刺请求。 弹性伸缩。动用自动化运维的方式对相应的服务做自动化的伸缩。这个需要一个应用性能的监控系统能够感知到目前最繁忙的 TOP 5 的服务是哪几个。 然后去伸缩它们还需要一个自动化的发布、部署和服务注册的运维系统而且还要快越快越好。否则系统会被压死掉了。当然如果是数据库的压力过大弹性伸缩应用是没什么用的这个时候还是应该限流。 二、限流的架构设计 我们在一些系统中都可以看到这样的设计比如我们的数据库访问的连接池还有我们的线程池还有 Nginx 下的用于限制瞬时并发连接数的 limit_conn 模块限制每秒平均速率的 limit_req 模块还有限制 MQ 的生产速等等。 1.限流的核心思想 限流一般都是系统内实现的常见的限流方式可以分为两类基于请求限流和基于资源限流。 1.基于请求限流 基于请求限流指从外部访问的请求角度考虑限流常见的方式有限制总量、限制时间量。 1.限制总量 限制总量的方式是限制某个指标的累积上限常见的是限制当前系统服务的用户总量例如某个直播间限制总用户数上限为 100 万超过 100 万后新的用户无法进入某个抢购活动商品数量只有 100 个限制参与抢购的用户上限为 1 万个1 万以后的用户直接拒绝。 2.限制时间量 限制时间量指限制一段时间内某个指标的上限例如1 分钟内只允许 10000 个用户访问每秒请求峰值最高为 10 万。 无论是限制总量还是限制时间量共同的特点都是实现简单但是当达到阀值后直接抛弃请求未免过于暴力可以采用延时处理的机制如设计一个延时队列进行延时处理并返回限流错误码并提示用户系统繁忙中如果收到失败提示请在重试等避免延时队列撑爆。 在实践中面临的主要问题还有比较难以找到合适的阈值例如系统设定了 1 分钟 10000 个用户但实际上 6000 个用户的时候系统就扛不住了也可能达到 1 分钟 10000 用户后其实系统压力还不大但此时已经开始丢弃用户访问了。 即使找到了合适的阈值基于请求限流还面临硬件相关的问题。例如一台 32 核的机器和 64 核的机器处理能力差别很大阈值是不同的可能有的技术人员以为简单根据硬件指标进行数学运算就可以得出来实际上这样是不可行的64 核的机器比 32 核的机器业务处理性能并不是 2 倍的关系可能是 1.5 倍甚至可能是 1.1 倍。 为了找到合理的阈值通常情况下可以采用性能压测来确定阈值但性能压测也存在覆盖场景有限的问题可能出现某个性能压测没有覆盖的功能导致系统压力很大另外一种方式是逐步优化即先设定一个阈值然后上线观察运行情况发现不合理就调整阈值。 基于上述的分析根据阈值来限制访问量的方式更多的适应于业务功能比较简单的系统例如负载均衡系统、网关系统、抢购系统等。 2.基于资源限流 基于请求限流是从系统外部考虑的而基于资源限流是从系统内部考虑的即找到系统内部影响性能的关键资源对其使用上限进行限制。常见的内部资源有连接数、文件句柄、线程数、请求队列等。 例如采用 Netty 来实现服务器每个进来的请求都先放入一个队列业务线程再从队列读取请求进行处理队列长度最大值为 10000队列满了就拒绝后面的请求 也可以根据 CPU 的负载或者占用率进行限流当 CPU 的占用率超过 80% 的时候就开始拒绝新的请求。 基于资源限流相比基于请求限流能够更加有效地反映当前系统的压力但实践中设计也面临两个主要的难点如何确定关键资源如何确定关键资源的阈值。通常情况下这也是一个逐步调优的过程即设计的时候先根据推断选择某个关键资源和阈值然后测试验证再上线观察如果发现不合理再进行优化。
http://www.pierceye.com/news/330433/

相关文章:

  • 网站301定向深圳电梯广告制作公司网站
  • 个人网站做推广系统开发师
  • 智能建站的优势和不足app注册推广拉人
  • 做网站用软件网站制作怎么创业
  • 解放碑电子商务网站建设网站建设英文如何表达
  • 长春好的做网站公司有哪些网站建设标准
  • 公司网站首页大图怎么做台州网站制作定制
  • 网站建设公司软件开发浅谈网站建设开发
  • 松江网站开发培训课程海外域名注册商
  • 智慧景区网站服务建设线下课程seo
  • 做3个网站需要多大的服务器做地铁建设的公司网站
  • 深圳app网站建设哪家好广西桂林
  • 网站开发及上线过程网站建设备案策划书
  • 杭州九鸿科技网站开发网站模板 素材
  • 网站建设网站软件有哪些wordpress如何输入拼音
  • 昆山网站建设哪家便宜简单的模板网站
  • 做图标得英文网站wordpress写代码插件
  • 网站网页设计案例wordprees可以做棋类网站吗
  • 天河区门户网站官网小学生一分钟新闻播报
  • 漯河网站建设lhwzzz网络服务器机柜
  • 有口碑的武进网站建设国内做房车游网站
  • 山东省城乡住房和城乡建设厅网站济南网站建设wuliankj
  • 网站首页跳出弹窗wordpress远程后台设置
  • 免费信息网站建设平台影响网站排名的因素 权重
  • 做房产网站接不到电话湖北网站建设平台
  • 厦门国外网站建设公司排名上海自贸区注册公司优惠政策
  • 网站建设的公司实习做什么成都住建局官网住建智慧建管
  • 建一个免费看电影的网站犯法不国家企业信用信息没有网站怎么做
  • 长春网站vantage wordpress
  • 帝国cms如何做网站地图自己做的网站还要买域名么