一句话聊聊「降级」设计

一句话聊聊「降级」设计

Tags
降级设计
Redis
配置中心
流量控制
CreatedTime
Aug 23, 2022 08:26 AM
Slug
2020-10-23-down-grade
UpdatedTime
Last updated August 23, 2022

集中管理降级开关

通过推送/拉取机制,将开关同步到各个应用(比如 1 次/s)。
这种需要借助「配置中心」。

读降级

不调用 api,只读本地/分布式缓存,没有数据返回默认数据。
这种需要借助LRU Cache、Redis Cache。

写降级

写场景大多数不能降级。一般解决方法是将同步改成异步,并且将数据写入到 redis,redis 可以给读请求提供数据;由异步任务定时将数据刷到 DB 中。保证的是数据最终一致性。
这种需要借助 MQ、Redis等基础组件。

限流降级

通过限流来限制流量,排队页面、直接告知没有库存、显示错误页。
这种需要借助 Redis 实现
限流算法-漏桶和令牌桶

业务降级

保证核心功能,非核心功能同步改成异步调用。
这种需要判断业务功能优先级,进行取舍。

控制开发前置化

越靠近用户进行拦截,越安全有效,放置流量打到后台 DB。比如在 Nginx 做降级拦截。