服务降级

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

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


服务降级方式:

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

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

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

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

 

持久层降级方式

数据操作动作

通过Cache工作

通过异步数据队列

增insert

禁止

允许但不能有重复问题

删delete

禁止

允许但不能有复合操作

改update

禁止

允许只留最后结果

查query

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

走cache



降级方式

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

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

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

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

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

 

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

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

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

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


服务降级埋点的地方:


 

       消息中间件:所有API调用可以使用消息中间件进行控制
        前端页面:指定网址不可访问(NGINX+LUA)
        底层数据驱动:拒绝所有增删改动作,只允许查询
相关文章
|
5月前
|
缓存 监控 Java
Java内存泄漏定位与解决全攻略:从VisualVM到MAT实战
本文详解Java内存泄漏的定位与解决,涵盖VisualVM实时监控、MAT深度分析、引用链追踪技巧,并结合静态集合、ThreadLocal、内部类等典型场景,提供弱引用优化、资源清理等实战方案,助你构建稳定高效应用。(239字)
614 1
|
JavaScript 前端开发 开发者
Vue 动态添加 HTML 元素组件封装使用方法及长尾关键词优化指南
本文详细介绍了Vue中动态添加HTML元素的使用方法与组件封装技巧。内容涵盖条件渲染(v-if/v-show)、列表渲染(v-for)、动态组件(:is)、手动操作DOM及动态创建组件实例等核心方法。同时,通过动态表单、弹窗组件和动态加载组件的封装示例,展示如何提升代码复用性和可维护性。最后,总结性能优化策略与注意事项,如批量更新DOM、懒加载大型组件及避免直接操作DOM等,帮助开发者在实际项目中灵活应用Vue动态元素管理功能。
410 15
|
人工智能 算法 搜索推荐
探索人工智能与大数据的融合之道####
本文深入探讨了人工智能(AI)与大数据之间的紧密联系与相互促进的关系,揭示了二者如何共同推动科技进步与产业升级。在信息爆炸的时代背景下,大数据为AI提供了丰富的学习材料,而AI则赋予了大数据分析前所未有的深度与效率。通过具体案例分析,本文阐述了这一融合技术如何在医疗健康、智慧城市、金融科技等多个领域展现出巨大潜力,并对未来发展趋势进行了展望,强调了持续创新与伦理考量的重要性。 ####
|
API 开发工具 C++
【专栏:工具与技巧篇】使用代码编辑器(VS Code/Sublime Text)提升开发效率
【4月更文挑战第30天】在VS Code与Sublime Text两大流行代码编辑器中,开发者可借助其高效特性提升编程效率。VS Code拥有丰富的插件生态、内置Git集成、强大的调试工具、智能提示和多文件导航功能。Sublime Text则以其轻量级、快速响应、多光标编辑及自定义构建系统见长。学习编辑器的键盘快捷键、自定义配置、使用内置终端以及键绑定和宏,将助开发者进一步提高开发效率。选择适合自己的编辑器并不断适应新技术是提升开发工作流的关键。
880 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项目开发。
1489 0
|
存储 监控 Linux
|
搜索推荐 算法 Shell
排序(冒泡排序、选择排序、插入排序、希尔排序)-->深度剖析(一)
排序(冒泡排序、选择排序、插入排序、希尔排序)-->深度剖析(一)
984 5
|
安全 网络安全 数据安全/隐私保护
警惕Mallox勒索病毒的最新变种mallox,您需要知道的预防和恢复方法。
在这个数字时代,恶意软件不再是仅限于技术领域的威胁,而是每个人都可能面临的潜在风险。其中,.mallox勒索病毒崭露头角,它不仅能够以不可思议的方式加密您的数据,还能要求您支付赎金以获取解密密钥。本文将深入探讨.mallox勒索病毒,如何解锁被其加密的数据,以及我们应该如何未雨绸缪,以免受到未来威胁的影响
945 1
警惕Mallox勒索病毒的最新变种mallox,您需要知道的预防和恢复方法。
|
机器学习/深度学习 数据挖掘 PyTorch
图像分类经典神经网络大总结(AlexNet、VGG 、GoogLeNet 、ResNet、 DenseNet、SENet、ResNeXt )
图像分类经典神经网络大总结(AlexNet、VGG 、GoogLeNet 、ResNet、 DenseNet、SENet、ResNeXt )
15071 1
图像分类经典神经网络大总结(AlexNet、VGG 、GoogLeNet 、ResNet、 DenseNet、SENet、ResNeXt )
|
算法 搜索推荐 Java
用java语言写一个协同过滤算法
用java语言写一个协同过滤算法
593 9