服务降级

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

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


服务降级方式:

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

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

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

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

 

持久层降级方式

数据操作动作

通过Cache工作

通过异步数据队列

增insert

禁止

允许但不能有重复问题

删delete

禁止

允许但不能有复合操作

改update

禁止

允许只留最后结果

查query

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

走cache



降级方式

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

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

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

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

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

 

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

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

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

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


服务降级埋点的地方:


 

       消息中间件:所有API调用可以使用消息中间件进行控制
        前端页面:指定网址不可访问(NGINX+LUA)
        底层数据驱动:拒绝所有增删改动作,只允许查询
相关文章
|
10月前
|
JavaScript 前端开发 开发者
Vue 动态添加 HTML 元素组件封装使用方法及长尾关键词优化指南
本文详细介绍了Vue中动态添加HTML元素的使用方法与组件封装技巧。内容涵盖条件渲染(v-if/v-show)、列表渲染(v-for)、动态组件(:is)、手动操作DOM及动态创建组件实例等核心方法。同时,通过动态表单、弹窗组件和动态加载组件的封装示例,展示如何提升代码复用性和可维护性。最后,总结性能优化策略与注意事项,如批量更新DOM、懒加载大型组件及避免直接操作DOM等,帮助开发者在实际项目中灵活应用Vue动态元素管理功能。
288 15
|
9月前
|
传感器 人工智能 搜索推荐
人机融合智能 | 可穿戴计算设备的多模态交互
本文介绍了可穿戴计算设备的多模态交互技术,阐述了以人为中心的设计目标与原则。内容涵盖设备的历史发展、特点及分类,并重点分析手指触控、手部动作、头部和眼睛动作等交互模态。同时探讨支持这些交互的传感器种类与原理,以及未来挑战。通过十个设计原则,强调自然高效、个性化、低认知负荷及隐私保护的重要性,为可穿戴技术的设计提供指导。
546 0
|
人工智能 算法 搜索推荐
探索人工智能与大数据的融合之道####
本文深入探讨了人工智能(AI)与大数据之间的紧密联系与相互促进的关系,揭示了二者如何共同推动科技进步与产业升级。在信息爆炸的时代背景下,大数据为AI提供了丰富的学习材料,而AI则赋予了大数据分析前所未有的深度与效率。通过具体案例分析,本文阐述了这一融合技术如何在医疗健康、智慧城市、金融科技等多个领域展现出巨大潜力,并对未来发展趋势进行了展望,强调了持续创新与伦理考量的重要性。 ####
|
前端开发 Java 程序员
SpringBoot统一功能处理,拦截器,统一数据格式,捕捉异常
SpringBoot统一功能处理,拦截器,统一数据格式,捕捉异常
|
API 开发工具 C++
【专栏:工具与技巧篇】使用代码编辑器(VS Code/Sublime Text)提升开发效率
【4月更文挑战第30天】在VS Code与Sublime Text两大流行代码编辑器中,开发者可借助其高效特性提升编程效率。VS Code拥有丰富的插件生态、内置Git集成、强大的调试工具、智能提示和多文件导航功能。Sublime Text则以其轻量级、快速响应、多光标编辑及自定义构建系统见长。学习编辑器的键盘快捷键、自定义配置、使用内置终端以及键绑定和宏,将助开发者进一步提高开发效率。选择适合自己的编辑器并不断适应新技术是提升开发工作流的关键。
721 1
|
Java 关系型数据库 MySQL
如何安装系统必备开发环境:JDK 1.8+、MySQL 5.7+ 与 Maven 3.0+
【7月更文挑战第1天】搭建Java开发环境:安装JDK 1.8+,MySQL 5.7+,Maven 3.0+。访问官方源下载对应软件,配置Windows或Linux/macOS的环境变量,包括`JAVA_HOME`, `PATH`, `MYSQL_ROOT_PASSWORD`及`MAVEN_HOME`。测试安装成功分别用`java/javac -version`, `mysql -u root -p`和`mvn -v`检查版本。完成后,即可开始Java项目开发。
1239 0
Simulink|局部遮荫下光伏组件多峰值PSO-MPPT控制
Simulink|局部遮荫下光伏组件多峰值PSO-MPPT控制
|
Java Apache Spring
Apache和Spring提供的StopWatch执行时间监视器
Apache和Spring提供的StopWatch执行时间监视器前言编码过程中我们经常会希望得到一段代码(一个方法)的执行时间,本文将介绍两种时间监视器(秒表)来让你优雅的、灵活的处理这个问题。 Java源生方式这种方式最最简单,最好理解,当然也是最为常用:我们自己书写。
1422 0
|
Java Maven
IDEA中maven工程下pom.xml的某些依赖按ctrl点不进去
IDEA中maven工程下pom.xml的某些依赖按ctrl点不进去
737 0
|
Java Maven
maven配置阿里云镜像源
maven配置阿里云镜像源
43336 1

热门文章

最新文章