接口级故障的应对方法
作者:短暂瞬间
链接:https://www.jianshu.com/p/3f02e09a243a
什么是接口级故障?
异地多活方案主要是应对影响大但发生概率较小的系统级故障,而发生概率更高但故障影响较小的故障就是接口级的故障。
接口级故障的典型表现:业务出现问题,但不是系统宕机或网络中断,比如响应慢、访问超时、访问异常、无法连接数据库等。
接口级故障原因
主要原因:系统压力太大、负载太高,导致无法快速处理业务请求
内部:程序bug导致死循环、某接口导致数据库慢查询、程序逻辑不完善导致内存耗尽
外部:黑客攻击、促销或抢购引入超量用户、第三方系统大量请求、第三方系统响应缓慢
接口级故障的应对方法
核心思想:优先保证核心业务、优先保证绝大部分用户
应对方法一:降级
定义:系统将某些业务或者接口的功能降低,可以是只提供部分功能,也可以是完全停掉所有功能。核心思想就是丢车保帅,优先保证核心业务。
两种降级方式:
系统后门降级
系统预留了后门用于降级操作
实现成本低
效率较低,且有一定安全隐患
独立降级系统
设计独立的降级系统,降级指令通过降级系统发送给非核心业务系统实现降级
安全性高,可实现复杂权限管理、批量管理
实现成本高
应对方法二:熔断
定义:当本系统依赖的外部系统接口出现响应慢的情况时,立即返回错误,避免本系统被拖慢或拖死。降级的目的是应对系统自身的故障,而熔断的目的是应对依赖的外部系统故障的情况。
实现关键:需要一个统一的API调用层,由API掉用层进行采样或统计;需确定一个熔断阈值。
应对方法三:限流
定义:从用户访问压力的角度着手,只允许系统能够承受的访问量进来,超出系统访问能力的请求将被丢弃。
常见的两类限流方式:
基于请求限流
从外部访问请求角度限制总量或限制时间量
限制总量的方式是限制某个指标的累积上限,常见的是限制当前系统服务的用户总量
限制时间量指限制一段时间内某个指标的上限
实现简单,但难以找到合适的阈值
适用于业务功能比较简单的系统,如负载均衡系统、网关系统、抢购系统
基于资源限流
从系统内部角度找到影响性能的关键资源,限制其使用上限
常见内部资源:连接数、文件句柄、线程数、请求队列
可以更加有效地反映当前系统压力
难点在于如何确定关键资源和关键资源的阈值
应对方法四:排队
定义:限流的一个变种,限流是直接拒绝用户,排队则是让用户等待一段时间。如12306网站抢票排队。
实现方式:
需设计独立的系统实现,包含排队模块、调度模块、服务模块
排队模块需临时缓存大量业务请求
调度模块负责排队模块到服务模块的动态调度,不只传递请求,还需要调节系统处理能力
服务模块负责返回处理结果
接口级故障的应对方法相关推荐
- 刷卡自动玻璃门连接到服务器,自动玻璃门维修小技巧 常见故障应对方法
自动玻璃门维修小技巧 常见故障应对方法 自动玻璃门是由各种信号控制自动开.闭的门体,在酒店和商店的装修中比较常见.但在家居生活中的应用还不是很普遍,这里给大家总结了自动玻璃门维修的一些小技巧,这样出现 ...
- 【收藏备用】服务器基本故障及排查方法
第一章 加电类故障 一.定义举例 从上电(或复位)到自检完成这一段过程中电脑所发生的故障. 二.可能的故障现象 1. 主机不能加电(如:电源风扇不转或转一下即停等).有时不能加电.开机掉闸.机箱金属部 ...
- 三星电视开机显示服务器异常,三星液晶电视常见故障及维修方法
三星液晶电视常见故障及维修方法 三星液晶电视常见的故障及检修思路: (1)开机三无,电源灯不亮.弟一个是电源板坏,弟二个是CPU部分工作不正常. (2)开机出现无象无音,电源灯闪一下变成常亮,屏幕在开 ...
- 服务器基本故障及排查方法
第一章 加电类故障 一.定义举例 从上电(或复位)到自检完成这一段过程中电脑所发生的故障. 二.可能的故障现象 1. 主机不能加电(如:电源风扇不转或转一下即停等).有时不能加电.开机掉闸.机箱金属部 ...
- 服务器 | 12种基本故障及排查方法
第一章 加电类故障 一.定义举例 从上电(或复位)到自检完成这一段过程中电脑所发生的故障. 二.可能的故障现象 1. 主机不能加电(如:电源风扇不转或转一下即停等).有时不能加电.开机掉闸.机箱金属部 ...
- 服务器12种基本故障及排查方法
第一章 加电类故障 一.定义举例 从上电(或复位)到自检完成这一段过程中电脑所发生的故障. 二.可能的故障现象 1. 主机不能加电(如:电源风扇不转或转一下即停等).有时不能加电.开机掉闸.机箱金属部 ...
- 监控系统常见的故障及解决方法.
监控系统常见的故障及解决方法. 1. 电源的不正确引发的设备故障 电源不正确大致有如下几种可能:供电线路或供电电压不正确.功率不够(或某一路供电线路的线径不够,降压过大等).供电系统的传输线路出现短路 ...
- fanuc机器人提示暂停_川崎机器人故障排除参考方法
川崎机器人故障排除参考方法 首先,第一时间做好系统数据备份工作.了解故障现象,通过现场一些设备的基本现象和现场技术人员的描述进行判断,会比较有效率,. 例如,根据一位现场工程师的描述 ...
- 电脑故障检测_检测电脑故障的简单方法
如果排除了电线没有插紧.电源不通等"假故障"后,电脑依然存在问题,那么就是真的有故障存在了!若再检测一下各配件的外观,包括打开机箱看到主机内部的各部件表面都没有被高电压击毁的迹象, ...
最新文章
- 通用窗口类 Inventory Pro 2.1.2 Demo1(下)
- JAVA shell grep
- asp.net三层架构连接Oracle 11g详解
- Python编程基础:第二十八节 随机数Random Numbers
- Ubuntu 17.04 Chrome 安装
- Linux下的进程相关编程
- 访问修饰符(C# 编程指南)
- pgsql thinkphp5_thinkphp 连接postgresql
- SSL的4阶段握手过程
- WeUI首页、文档和下载 - 专为微信设计的 UI 库 - 开源中国社区
- PLSQL只导出表结构
- PHP高并发和大流量解决方案
- 中国贻贝养殖种类、养殖面积、养殖产量和进出口量分析「图」
- 读书笔记之《阿里传:这是阿里巴巴的世界》
- lc滤波器是利用电感的感抗_由浅入深讲解滤波电路工作原理
- Cisco服务器硬盘状态jbod,2018-11-06 JBOD模式下LSI9361RAID卡操作步骤
- 后缀001,002,003等的文件解压
- 为intent添加FLAG_EXCLUDE_STOPPED_PACKAGES标记
- SVN代码增量打包工具
- 最大化参数 火车头_火车头采集(LocoySpider)设置技巧
热门文章
- python中for语句可以有else部分_Python中的for...else语句可以不写else吗?
- boot定时任务开启和关闭 spring_SpringBoot中的定时任务的同步与异步你确定真的知道?...
- 一些重要的 XML DOM 方法概述
- linux环境对apk文件写入数据,Linux下7zip命令apk中插入文件标识渠道批量打包
- JavaScript初学者编程题(3)
- 关于学习Python的一点学习总结(39->导入模块)
- 【网络流24题】解题报告:C、最小路径覆盖问题(有向无环图最小路径覆盖)(最大流)
- 0x08.基本算法 — 总结与练习
- 二分查找与二叉排序树
- JAVA产生加密公钥私钥_Java生成非对称型加密的公钥和私钥