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

中小学网站建设论文网站服务种类

中小学网站建设论文,网站服务种类,网站关键词优化技巧,郑州最近新闻事件什么是服务降级 如果看过我前面对服务限流的分析,理解服务降级就很容易了,对于一个景区,平时随便进出,但是一到春节或者十一国庆这种情况客流量激增,那么景区会限制同时进去的人数,这叫限流,那么什么是服务降级呢? 简单来说就是,将一些不太重要的景区项目砍掉,平时就那么三五…什么是服务降级 如果看过我前面对服务限流的分析,理解服务降级就很容易了,对于一个景区,平时随便进出,但是一到春节或者十一国庆这种情况客流量激增,那么景区会限制同时进去的人数,这叫限流,那么什么是服务降级呢? 简单来说就是,将一些不太重要的景区项目砍掉,平时就那么三五八个人,景区可以开放湖中游泳啦,摸鱼啦,捉虾啦,有情况工作人员可以下湖捞你,但是现在客流量大了,工作人员关注不过来,都在湖里晃荡万一沉了不太安全,大手一挥,这个项目砍了,将工作人员分配在其他地方。 在互联网中也有类似的降级措施,像之前双11, 有段时间是只允许下单不允许退单或者改单,这样做目的是什么呢? 还是为了保证服务的可用性,当硬件软件优化到一定的程度还是有上限,这时候将资源重点倾斜给核心业务,那些不太重要的就砍掉,保证服务的可用性。 服务等级定义 服务等级定义 SLAService Level Agreement是判定压测是否异常的重要依据。压测过程中通过监控核心服务状态的 SLA 指标数据可以更直观地了解压测业务的状态。 SLA则是服务商与您达成的正常运行时间保证。 关于这个的详细解释,可以参考阿里云的介绍:服务等级定义SLAhttps://help.aliyun.com/document_detail/111729.html,这儿不过多描述,SLA 分为网络服务和云服务,提供商的在线保证率通常要求达到6个9。 6个9含义 6个9指99.9999%,也就是一个服务有99.9999%概率是安全的,6个9有多安全呢? 2个9 1-99%X24 X 365 87.6 小时 3.65天 3个9 1-99.9%X24 X 365 8.76 小时 4个9 1-99.99%X24 X 365 0.876 小时 52.56分钟 5个9 1-99.999%X24 X 365 0.0876 小时 5.256分钟 6个9 1-99.9999%X24 X 365 0.00876 小时 0.5256分钟 31秒 也就是,一年当中,6个9的安全性最多会有31s服务是不可用,相对来说是极高的。 降级处理 兜底数据 这方面有很多例子,比如某些页面挂了会返回寻亲子网。可以对一些关键数据设置一些兜底数据,例如设置默认值、静态值、设置缓存等。 默认值: 设置安全的默认值不会引起数据问题的值比如库存为0 静态值:请求的页面或api无法返回数据提供一套静态数据展示比如加载失败提示重试或者寻亲子网,或者跳到默认菜单,给用户一个稍微好一点的体验。 缓存: 缓存无法更新便使用旧的缓存 限流降级 限流顾名思义提前对各个类型的请求设置最高的QPS阈值若高于设置的阈值则对该请求直接返回不再调用后续资源,也就是当流量洪峰到达的时候可能需要丢弃一部分用户来保证服务可用性,对于丢弃的用户可以提供友好的提示,比如提示用户当前繁忙、稍后重试等。 限流需要结合压测等了解系统的最高水位也是在实际开发中应用最多的一种稳定性保障手段。当服务器压力剧增的情况下根据当前业务情况及流量对一些服务和页面有策略的降级以此释放服务器资源以保证核心任务的正常运行。 超时降级 对调用的数据设置超时时间当调用失败时对服务降级,举个例子,当访问数据已经超时了,且这个业务不是核心业务,可以在超时之后进行降级,比如商品详情页上有推荐内容或者评价,但是可以降级显示评价暂时不显示,这对主要的用户功能——购物,不产生影响,如果是远程调用,则可以商量一个双方都可以接受的最大响应时间,超时则自动降级。 故障降级 如果远程调用的服务器挂了(网络故障、DNS故障、HTTP服务返回错误),则可以进行降级, 例如返回默认值或者兜底数据或者静态页面,也可以返回之前的缓存数据。 重试/自动处理 客户端高可用提供多个可调用的服务地址,这样做 微服务重试dubbo重试机制 API调用重试当达到重试次数后增加访问标记服务降级异步探测服务是否恢复。 WEB端在服务不可用时web端增加重试按钮或自动重试可以提供更友好的体验。 自动重试需设置重试次数和数据幂等处理。 插播一条如果你近期准备面试跳槽点击Java面试库小程序刷题吧共 2500 道几乎覆盖了所有主流 Java 技术面试题。 降级开关 在服务器提供支持期间, 如果监控到线上一些服务存在问题,这个时候需要暂时将这些服务去掉,有时候通过服务调用一些服务,但是服务依赖的数据库可能存在,网卡被打满了,数据库挂了,很多慢查询等等,此时要做的就是暂停相关的系统服务,也就是人工使用开关降级。开关可以放在某地,定期同步开关数据,通过判断开关值来决定是否做出降级。 开关降级还有一个作用,例如新的服务版本刚开发处在灰度测试阶段,不太确定里面的逻辑等等是否正确,如果有问题应该可以根据开关的值切回旧的版本。 在服务调用方设置一个flag标记服务是否可用,另外key可以存储存储在在本地,也可以存储在第三方的配置文件中,例如数据库、redis、zookeeper中。 爬虫和机器人 分析机器人行为短时间连续操作agent行为轨迹、拖拽模拟登陆/秒杀/灌水 爬虫引到到静态页或缓存页 读降级 简而言之,在一个请求内多级缓存架构下后端缓存或db不可用可以使用前端缓存或兜底数据让用户体验好一点。 对于读服务降级一般采用的策略有暂时切换读: 降级到读缓存、降级到走静态化暂时屏蔽读: 屏蔽读入口、屏蔽某个读服务 通常读的流程为: 接入层缓存→应用层本地缓存→分布式缓存→RPC服务/DB 我们会在接入层、应用层设置开关当分布式缓存、RPC服务/DB有问题时自动降级为不调用。当然这种情况适用于对读一致性要求不高的场景。 页面降级、页面片段降级、页面异步请求降级都是读服务降级目的是丢卒保帅,保护核心线程或者因数据问题暂时屏蔽。 还有一种是页面静态化场景。 动态化降级为静态化比如平时网站可以走动态化渲染商品详情页但是到了大促来临之际可以将其切换为静态化来减少对核心资源的占用而且可以提升性能。其他还有如列表页、首页、频道页都可以这么处理。可以通过一个程序定期推送静态页到缓存或者生成到磁盘出问题时直接切过去。 静态化降级为动态化比如当使用静态化来实现商品详情页架构时平时使用静态化来提供服务但是因为特殊原因静态化页面有问题了需要暂时切换回动态化来保证服务正确性。以上都保证了出问题时有预案用户可以继续使用网站不影响用户购物体验。 写降级 大家都知道硬盘性能比不上内存性能,如果访问量很高的话,数据库频繁读写可能撑不住,那么怎么办呢,可以让内存(假如是Redis)库来暂时满足写任务,同时将执行的指令记录下来,然后将这个信息发送到数据库,也就是不在追求内存与数据库数据的强一致性,只要数据库数据与Redis数据库中的信息满足最终话一致性即可。 也就是说正常情况下可以同步扣减库存在性能扛不住时降级为异步。另外如果是秒杀场景可以直接降级为异步从而保护系统。还有如下单操作可以在大促时暂时降级将下单数据写入Redis然后等峰值过去了再同步回DB当然也有更好的解决方案但是更复杂不是本篇的重点。 最新 Redis 面试题整理好了点击Java面试库小程序在线刷题。 还有如用户评价如果评价量太大那么也可以把评价从同步写降级为异步写。当然也可以对评价按钮进行按比例开放比如一些人看不到评价操作按钮。比如评价成功后会发一些奖励在必要的时候降级同步到异步。 总结在cap原理和BASE理论中写操作存在于数据一致性这个环节降级的目的是为了提供高可用性在多数的互联网架构中可用性是大于数据一致性的。所以丧失写入数据同步通过上面的理论我们也能勉强接受数据最终一致性。高并发场景下写入操作无法及时到达或抗压可以异步消费数据/cache更新/log等方式 前端降级 当系统出现问题的时候尽量将请求隔离在离用户最近的位置避免无效链路访问, 在后端服务部分或完全不可用的时候可以使用本地缓存或兜底数据,在一些特殊场景下对数据一致性要求不高的时候比如秒杀、抽奖等可以做假数据。 另外架构设计系列面试题和答案全部整理好了微信搜索Java技术栈在后台发送面试可以在线阅读。 JS降级 在js中埋降级开关在访问不到达系统阈值的时候可以避免发送请求 主要控制页面功能的降级在页面中通过JS脚本部署功能降级开关在适当时机开启/关闭开关。 接入层降级 可以在接入层在用户请求还没到达服务的时候通过、Nginx Lua、Haproxy lua过滤无效请求达到服务降级的目的, 主要控制请求入口的降级请求进入后会首先进入接入层在接入层可以配置功能降级开关可以根据实际情况进行自动/人工降级。这个可以参考第17章尤其在后端应用服务出问题时通过接入层降级从而给应用服务有足够的时间恢复服务。 应用层降级 主要控制业务的降级在应用中配置相应的功能开关根据实际业务情况进行自动/人工降级。 SpringCloud中可以通过Hystrix配置中心可以进行人工降级也可以根据服务的超时时间进行自动降级, Hystrix是Netflix开源的一款针对分布式系统的延迟和容错库目的是用来隔离分布式服务故障。 推荐一个 Spring Boot 基础教程及实战示例https://www.javastack.cn/categories/Spring-Boot/ 它提供线程和信号量隔离以减少不同服务之间资源竞争带来的相互影响官网讲Hystrix提供优雅降级机制提供熔断机制使得服务可以快速失败而不是一直阻塞等待服务响应并能从中快速恢复。Hystrix通过这些机制来阻止级联失败并保证系统弹性、可用。下图是一个典型的分布式服务实现。 片段降级 例如打开淘宝首页,这一瞬间需要加载很多数据,有静态的例如图片、CSS、JS等,也有很多其他商品等等,这么多数据中,如果一部分没有请求到,那么就可以片段降级,意思是就不加载这些数据了,用其他数据顶替,例如其他商品信息或者等等。 提前预埋 这个很容易理解,大家应该都记得,每次双十一之前,淘宝总会提醒你下载更新,按道理来讲,活动还没开始,更新啥呢? 做法是对于一部分静态数据可以提前更新到你手机上,当你双十一时就不用再远程连接服务器加载了,避免了消耗网络资源。
http://www.dnsts.com.cn/news/211902.html

相关文章:

  • 淄博网站建设给力臻动传媒创意型网站建设
  • 视频网站开发公司有哪些公司申请网站网站
  • asp手机网站管理系统4s店网站建设
  • 免费可用的网站源码上海制作公司
  • 苏州网站建设的一般流程猴痘的治疗方法
  • 北京做手机网站建设百度网页版入口官网
  • 安徽东皖建设集团有限公司网站asp网站浏览器兼容
  • 开网站需要准备什么wordpress 嵌入播放ppt
  • 做网站首次备案需要哪些资料电商平台代运营
  • 酒店行业网站建设方案网站建设公司招聘面试
  • 事业单位做网站需要前置审批吗马鞍山网站制作公司
  • 国内可以使用的自己建站环保设备公司网站模板
  • 做公司网站需要会什么科目大城 网站建设
  • 深圳做微信网站公司哪家好asp.net做网站头部和尾部_都用什么来实现
  • 微信公众号可以做几个微网站WordPress密码重设怎么改
  • 有哪些网站可以做网站游戏wordpress移动站点
  • 深圳网站设计公司哪种wordpress 网站赏析
  • 做线上网站需要钱吗杭州网站建设朗诵面朝
  • 网站开发技术服务协议差异基因做热图在线网站
  • 淘宝客网站制作教程沧州网络公司科技
  • 手机可播放的网站电商网站设计文档
  • 最好玩的网站夜无忧论坛官网
  • wordpress建站位置网站飘窗建设合同
  • 广安网站开发上海小程序定制公司
  • 江门免费模板建站公司网站建设深圳
  • 建设农家书屋官方网站桐庐做网站
  • 网站开发颜色选择器wordpress游戏门户
  • 手机上建设网站搞跨境电商 wordpress
  • 做网站有什么js特效免费查公司查老板
  • 甘肃定西校园文化设计公司seo综合查询接口