服务恢复正常

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

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

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

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

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

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

目录
相关文章
|
2月前
|
存储 监控 安全
服务器死机,数据丢失怎么办?
【10月更文挑战第27天】当服务器死机且数据丢失时,应先尝试重启服务器并检查硬件问题。随后,利用备份数据、数据恢复软件或专业服务恢复数据。为预防未来数据丢失,需定期备份数据,使用热备份和RAID技术,定期维护服务器,强化安全性,并建立监控和日志记录机制。
132 8
|
4月前
|
弹性计算 Linux Shell
宕机自动恢复服务
在服务或脚本运行过程中,可能会因为程序异常、服务器重启或掉电等原因停止运行,导致业务受损。通过使用云助手插件 `ecs-tool-servicekeepalive`,可以在服务或脚本被中断时快速恢复运行,确保其可靠性和持续性。该插件基于 Linux 系统的 systemd service 实现,用户只需输入启动命令即可自动生成 systemd service 配置,无需手动配置。具体实践包括启动插件、查看配置状态及取消自恢复等功能。
|
5月前
|
运维 监控 定位技术
故障转移和自动恢复
故障转移和自动恢复
171 1
|
存储 Kubernetes API
优雅退出和零停机部署
如何在 Kubernetes 中使用优雅退出,使得业务具备零停机、无中断的部署发布。
260 1
|
缓存 容灾 NoSQL
变形记---容灾恢复 ,异常崩溃引发服务器丢档或无法正常运行
最近我给M部门面试服务器主程序开发的职位,我只问他们的架构设计经验,我发现相当一部分5-12年“本应该有足够开发经验”的开发组长,或开发主程序缺乏设计,缺乏容错,缺乏创新,比如一些服务器宕机如何崩溃拉起恢复玩家数据,数据库的异步线程读写如何避免被其他线程写回呢,至少目前能听到合理方案的面试者的回答不多,这也是我想写这篇文章的出发点,以此来分享给大家, 不仅仅是为了应付面试,更是解决实际问题的一种思路。 如题,举例说明:游戏服务器(或者其他业务服务器)正常运行中出现了异常崩溃,可能是异常断电引发,可能是云服务商的软硬件问题引发,这种情况下,你们的服务器架构有没有做灾难恢复处理? 使得
|
监控 安全 数据安全/隐私保护
服务器数据恢复—如何预防服务器故障?发生故障后如何恢复服务器数据?
服务器常见故障: 硬件故障:磁盘、板卡、电源故障等。 软件故障:操作系统崩溃、程序运行错误等。 入侵破坏:加密、删除服务数据等。 不可控力:浸水、火烧、倒塌等。 误操作:格式化、删除、覆盖等。
|
存储 JSON 运维
临近年关,发生两起磁盘占满引发的服务下线故障
一口气说两个因为磁盘空间不足引发的应用故障。
临近年关,发生两起磁盘占满引发的服务下线故障
|
监控 API
为什么系统越简单,宕机时间越少?
当新的需求出现时,我们总是倾向于通过其它方式或在现有系统上集成添加新功能。实际上,我们应考虑是否可以通过改变核心系统来满足新的需求。

热门文章

最新文章