Skip to content

Latest commit

 

History

History
58 lines (35 loc) · 1.25 KB

Downgrade.md

File metadata and controls

58 lines (35 loc) · 1.25 KB

服务降级

When ?

Client

Server 的成功率
Server 响应时间

Server

Task 的平均处理时间
队列长度
进程消耗的CPU

How ?

延长缓存过期时间

记录缓存写入时间,读缓存时读取写入时间 T1,计算缓存存在时长 T = Now - T1。 T1 小于 阈值 则认为未过期,阈值随后端服务的稳定性变化。

降低计算复杂度

限制数据集范围
重要程度低的逻辑

LIFO

一直在处理旧任务,处理完可能已经超时。
保证新任务的处理,必要情况下丢弃旧任务。

缩短任务队列过期时间

记录任务放入队列的时间,计算是否过期。

如何动态调整过期时间?

任务的凭据响应时间
Client设置的超时时间
当前机器CPU
Task Queue队列长度

策略

降低一致性

强一致性,将所有的同步一致性,切换为最终一致性,提高吞吐量 弱一致性,必要时候牺牲一致性换取服务整体可靠性

关闭次要服务

不同应用,关闭次要应用,释放物理资源 相同应用,关闭应用次要功能,更多资源给到核心功能

简化服务功能

如简化业务流程,减少通讯数据等