快慢路径降级慢路径

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

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

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

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

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

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

目录
相关文章
|
16天前
|
数据采集 Java Python
优化数据的抓取规则:减少无效请求
本文详细介绍了一种高效抓取贝壳等二手房平台房价信息的方法,重点在于过滤无效链接和减少冗余请求。文章首先分析了目标数据和平台特点,然后提出了URL过滤、分页控制、动态设置User-Agent和Cookies、代理IP轮换及多线程优化等策略。最后,提供了一个结合代理IP技术的Python爬虫代码示例,展示了如何具体实现上述优化措施,从而显著提升数据抓取的稳定性和效率。
61 26
优化数据的抓取规则:减少无效请求
|
5月前
|
缓存 JavaScript 前端开发
服务器反应慢如何解决?
通常来说,访问者会在最初的几秒钟内决定是留在您的网站还是离开。如果页面加载时间超过五秒,访问者离开的可能性就会增加 90%。所以,作为站长们,必须减少服务器响应时间,以确保其网站加载速度更快。以下是减少网站服务器响应时间的几种简单方式。
108 19
|
5月前
|
机器学习/深度学习
动态规划|【路径问题】|931.下降路径最小和
动态规划|【路径问题】|931.下降路径最小和
|
5月前
|
算法 Sentinel 索引
Sentinel热点参数限流动
Sentinel热点参数限流动
|
消息中间件 Arthas 运维
日志瘦身骚操作:从 5G 优化到 1G,牛逼!!
日志瘦身骚操作:从 5G 优化到 1G,牛逼!!
|
SQL 运维 监控
redis瞬时查询返回量过多导致出口流量打满,影响系统整体响应时间
redis瞬时查询返回量过多导致出口流量打满,影响系统整体响应时间
423 0
redis瞬时查询返回量过多导致出口流量打满,影响系统整体响应时间
|
Python
LeetCode 1289. 下降路径最小和 II
给你一个整数方阵 arr ,定义「非零偏移下降路径」为:从 arr 数组中的每一行选择一个数字,且按顺序选出来的数字中,相邻数字不在原数组的同一列。
137 0
|
存储 Python
LeetCode 931. 下降路径最小和
给你一个 n x n 的 方形 整数数组 matrix ,请你找出并返回通过 matrix 的下降路径 的 最小和 。
108 0
|
算法 Java 微服务
为什么我建议线上高并发量的日志输出的时候不能带有代码位置(上)
为什么我建议线上高并发量的日志输出的时候不能带有代码位置(上)
为什么我建议线上高并发量的日志输出的时候不能带有代码位置(上)
|
Java 测试技术 微服务
为什么我建议线上高并发量的日志输出的时候不能带有代码位置(下)
为什么我建议线上高并发量的日志输出的时候不能带有代码位置(下)
为什么我建议线上高并发量的日志输出的时候不能带有代码位置(下)