快慢路径降级慢路径

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

熔断里有一个例子,即如果Redis崩溃了,可以直接触发熔断。这种做法是为了保护数据库,防止把数据库打挂。

也可以使用降级来保护这个缓存 - 数据库结构。正常来说,使用缓存基本都是先从缓存里读数据,然后缓存里没有数据,再从数据库中读取。
在触发降级的情况下,可以考虑只从缓存里读取。如果缓存里没有,也不会再去数据库读取。这样可以保证缓存里有数据的请求可以得到正常处理,也就是提供了有损服务。

这种降级方案背后的逻辑也很简单。如果完全不考虑从数据库里取数据,那么你的性能瓶颈就完全取决于缓存或者说 Redis,那么服务能够撑住的 QPS 会非常高。但是,如果缓存不命中的时候要去数据库取数据,那么服务的性能会衰退得非常快,即极少数缓存未命中的请求会占据大部分的系统资源。

你可以这样回答,关键词是只查缓存

我还用过另外一个降级方案。正常来说在我的业务里面,就是查询缓存,如果缓存有数据,那么就直接返回。如果缓存没有,那么就需要去数据库查询。如果此时系统的并发非常高,那么我就会采取降级策略,将请求标记为降级请求。降级请求只会查询缓存,而不会查询数据库。如果缓存没有,那就直接返回错误。这样能够有效防止因为少部分请求缓存未命中而占据大量系统资源,导致系统吞吐量下降和响应时间显著升高。

目录
相关文章
|
24天前
|
SQL 分布式计算 运维
如何对付一个耗时6h+的ODPS任务:慢节点优化实践
本文描述了大数据处理任务(特别是涉及大量JOIN操作的任务)中遇到的性能瓶颈问题及其优化过程。
|
19天前
|
缓存 前端开发
SPA首屏加载速度慢的怎么解决?
SPA首屏加载速度慢的怎么解决?
21 0
|
5月前
|
缓存 JavaScript 前端开发
服务器反应慢如何解决?
通常来说,访问者会在最初的几秒钟内决定是留在您的网站还是离开。如果页面加载时间超过五秒,访问者离开的可能性就会增加 90%。所以,作为站长们,必须减少服务器响应时间,以确保其网站加载速度更快。以下是减少网站服务器响应时间的几种简单方式。
108 19
|
5月前
|
SQL 存储 关系型数据库
真正线上索引失效的问题是如何排查的
MySQL索引失效是一种常见问题,在处理慢查询时经常需要考虑索引失效的可能性。 针对索引失效的排查,关键步骤包括确定需要分析的SQL语句,并通过`EXPLAIN`查看其执行计划。主要关注`type`、`key`和`extra`这几个字段。
真正线上索引失效的问题是如何排查的
|
5月前
|
机器学习/深度学习
动态规划|【路径问题】|931.下降路径最小和
动态规划|【路径问题】|931.下降路径最小和
|
前端开发 JavaScript API
MonacoEditor 加载很慢该怎么优化?
MonacoEditor 加载很慢该怎么优化?
1224 0
|
5月前
|
缓存 前端开发 JavaScript
SPA首屏加载速度慢怎么解决
SPA(单页面应用)的首屏加载速度慢可能是由于以下几个方面造成的:
71 0
|
消息中间件 Arthas 运维
日志瘦身骚操作:从 5G 优化到 1G,牛逼!!
日志瘦身骚操作:从 5G 优化到 1G,牛逼!!
|
SQL 存储 缓存
接口性能优化技巧,干掉慢代码!
接口性能优化技巧,干掉慢代码!
接口性能优化技巧,干掉慢代码!
|
算法 Java 微服务
为什么我建议线上高并发量的日志输出的时候不能带有代码位置(上)
为什么我建议线上高并发量的日志输出的时候不能带有代码位置(上)
为什么我建议线上高并发量的日志输出的时候不能带有代码位置(上)