服务降级

简介: 服务降级,当服务器压力剧增的情况下,根据当前业务情况及流量对一些服务和页面有策略的降级,以此释放服务器资源以保证核心任务的正常运行。服务降级方式: 服务接口拒绝服务:无用户特定信息,页面能访问,但是添加删除提示服务器繁忙。

服务降级,当服务器压力剧增的情况下,根据当前业务情况及流量对一些服务和页面有策略的降级,以此释放服务器资源以保证核心任务的正常运行。


服务降级方式:

服务接口拒绝服务:无用户特定信息,页面能访问,但是添加删除提示服务器繁忙。页面内容也可在Varnish或CDN内获取。

 页面拒绝服务:页面提示由于服务繁忙此服务暂停。跳转到varnish或nginx的一个静态页面。

延迟持久化:页面访问照常,但是涉及记录变更,会提示稍晚能看到结果,将数据记录到异步队列或log,服务恢复后执行。

随机拒绝服务:服务接口随机拒绝服务,让用户重试,目前较少有人采用。因为用户体验不佳。

 

持久层降级方式

数据操作动作

通过Cache工作

通过异步数据队列

增insert

禁止

允许但不能有重复问题

删delete

禁止

允许但不能有复合操作

改update

禁止

允许只留最后结果

查query

允许,若未命中问询mysql或其他持久层

走cache



降级方式

直觉管理方式:运维人员可以指定哪些模块降级。

当服务器检测到压力增大,服务器监测自动发送通知给运维人员

运维人员根据自己或相关人员判断后通过配置平台设置当前运行等级来降级

降级首先可以对非核心业务进行接口降级。

如果效果不显著,开始对一些页面进行降级,以此保证核心功能的正常运行。

 

分级管理方式:运维人员无需关心业务细节,直接按级别降低即可。

当服务器检测到压力增大,服务检测自动发送通知给运维人员。

运维人员根据情况选择运行等级1~10.

各个应用根据自己的级别自动判断是否工作,如何拒绝


服务降级埋点的地方:


 

       消息中间件:所有API调用可以使用消息中间件进行控制
        前端页面:指定网址不可访问(NGINX+LUA)
        底层数据驱动:拒绝所有增删改动作,只允许查询
相关文章
|
4月前
|
Java Spring
降级与熔断处理
降级与熔断处理
|
6月前
|
缓存 Java 应用服务中间件
常见的限流降级方案
【1月更文挑战第21天】
|
6月前
|
监控 Java 微服务
服务降级和服务熔断的区别
服务降级和服务熔断的区别
|
监控 Java 数据安全/隐私保护
sentinel流控降级与熔断
sentinel流控降级与熔断
93 0
|
设计模式 监控 算法
高可用三大利器 — 熔断、限流和降级
在武侠世界里,“利器”通常指的是武器中的上乘、出色之物;武器对于武者的重要性不言而喻,拥有一把优秀的武器可以让武者在战斗中更加得心应手,威力更强。在分布式系统追求高可用的背景下,熔断、限流和降级这三个重要的策略可以称得上三大利器。降级和熔断是不是一回事?限流 与 降级呢?
226 2
|
缓存 SpringCloudAlibaba 监控
系统之高可用(二):熔断降级
分布式系统环境下,服务间类似依赖非常常见,一个业务调用通常依赖多个基础服务。如下图,对于同步调用,当库存服务不可用时,商品服务请求线程被阻塞,当有大批量请求调用库存服务时,最终可能导致整个商品服务资源耗尽,无法继续对外提供服务。并且这种不可用可能沿请求调用链向上传递,这种现象被称为级联故障效应,最终结果导致整个系统服务不可用
154 0
|
缓存 监控 前端开发
服务降级是什么?
服务降级是在面对系统负载过高、资源不足或外部依赖故障等异常情况下,通过临时屏蔽某些功能或改变服务行为,以保证核心功能的可用性和性能稳定性的一种策略。
477 0
|
前端开发 关系型数据库 MySQL
服务降级熔断小总结|学习笔记
快速学习服务降级熔断小总结
服务降级熔断小总结|学习笔记
|
Dubbo 应用服务中间件 开发者
服务降级|学习笔记
快速学习服务降级
服务降级|学习笔记
|
Java 开发者 Sentinel
SentineI 服务熔断降级的策略 | 学习笔记
快速学习 SentineI 服务熔断降级的策略
130 0