服务恢复正常

简介: 【8月更文挑战第19天】

一个服务熔断之后要考虑恢复,比如说如果我们判断一个服务响应时间过长,进入了熔断状态。那么十分钟过后,已接收的请求都已经被处理完了,即服务恢复正常了,那么他就要退出熔断状态,继续接收新请求。

因此在触发熔断之后,就要考虑检测服务是否已经恢复正常。
大多数的微服务框架都是触发熔断之后保持一段时间,比如说一分钟,一分钟之后就认为服务已经恢复正常,继续处理新请求。

抖动就是服务频繁地在正常 - 熔断两个状态之间切换。
引起抖动的原因是多样的,比如前面提到的一旦超过阈值就进入熔断状态,或者我们这里说的恢复策略不当也会引起抖动。再比如刚刚提到的“一分钟后就认为服务已经恢复正常,继续处理新请求”就容易引发抖动问题。
如果熔断本身是高并发引起的,在一分钟后,并发依旧很高,这时候一旦直接恢复正常,然后高并发的流量打过来,服务是不是又会触发熔断

而要解决这个抖动问题,就需要在恢复之后控制住流量,比如按照10%、20%、30%……逐步递增,而不是立刻恢复100%的流量

显然这种做法还是不够好,因为在这种逐步放开流量的措施下,依旧有请求因为熔断不会被处理。那么一个自然的想法就是,能不能让客户端来控制这个流量?简单来说就是服务端触发熔断之后,客户端就直接不再请求这个节点了,而是换一个节点。等到恢复了之后,客户端再逐步对这个节点放开流量

目录
相关文章
|
小程序
微信小程序项目实例——备忘录
微信小程序项目实例——备忘录
|
算法
【MATLAB】语音信号识别与处理:一维信号NLM非局部均值滤波算法去噪及谱相减算法呈现频谱
【MATLAB】语音信号识别与处理:一维信号NLM非局部均值滤波算法去噪及谱相减算法呈现频谱
360 1
|
运维 Java 程序员
Spring5深入浅出篇:Spring动态代理详解
# Spring动态代理详解 本文探讨了Spring中的MethodBeforeAdvice和MethodInterceptor在动态代理中的应用和差异。MethodBeforeAdvice在方法执行前执行额外功能,而MethodInterceptor则可在方法执行前后或抛出异常时运行额外逻辑。MethodInterceptor还能影响原始方法的返回值。
|
算法 开发者 索引
二分算法详解
本文介绍了二分查找及其相关问题的解决方法,包括基本的二分查找、查找元素的第一个和最后一个位置、求平方根、搜索插入位置、寻找峰值和旋转数组中的最小值等问题。通过详细分析每种情况下的二分查找策略,如循环条件、区间划分及特殊情况处理,提供了清晰的代码实现。适用于算法初学者和需要巩固二分查找技巧的开发者。
462 18
二分算法详解
|
10月前
|
人工智能 前端开发 Serverless
阿里云《AI 剧本生成与动画创作》解决方案技术评测
随着人工智能技术的发展,越来越多的工具和服务被应用于内容创作领域。阿里云推出的《AI 剧本生成与动画创作》解决方案,利用函数计算 FC 构建 Web 服务,结合百炼模型服务和 ComfyUI 工具,实现了从故事剧本撰写、插图设计、声音合成和字幕添加到视频合成的一站式自动化流程。本文将对该方案进行全面的技术评测,包括实现原理及架构介绍、部署文档指引、具体耗时分析以及实际使用体验。
716 16
|
SQL 存储 安全
Web 常见攻击方式及防御方法
【10月更文挑战第25天】Web 安全是一个复杂而重要的领域,攻击者不断寻找新的攻击方法,我们需要不断加强防御措施,提高安全意识,以保障 Web 应用的安全运行。通过采取多种防御手段的综合运用,我们可以有效地降低 Web 攻击的风险,保护用户的信息和财产安全。同时,随着技术的不断发展,我们也需要持续关注和研究新的安全威胁和防御方法,以应对不断变化的安全形势。
1512 56
|
IDE 开发工具 C++
C++变量命名规则
C++变量命名规则
378 0
|
负载均衡 监控 网络协议
在Linux中,LVS-DR模式原理是什么?
在Linux中,LVS-DR模式原理是什么?
|
监控 网络协议 算法
我将根据系统工程的角度,给出一个基于Python的楼宇设备自控系统工程的代码示例或详解。
我将根据系统工程的角度,给出一个基于Python的楼宇设备自控系统工程的代码示例或详解。
|
搜索推荐 测试技术 UED
AIGC赋能游戏开发全流程
【1月更文挑战第14天】AIGC赋能游戏开发全流程
634 2
AIGC赋能游戏开发全流程