多级缓存以及热点监测

整体架构

请求先经过nignix或者gateway进行路由转发到无状态的服务器上,然后local cache, 分布式cache, db三层架构,双层缓存。

注意local cache的TTL需要大于 redis的TTL, 因为数据一致性的问题,当然这种情况不一定可以保障数据的实时一致性,但是可以保障TTL的最终一致性得到保障。

缓存查询不存在问题在多层架构下得到了放大,如何去解决这个问题?本质上还是缓存穿透问题,boomfilter

和传统分布式缓存一样还是还是采用标准的写db, 删缓存。

但是多机器之间的一致性可以利用mq模拟ringbus实现MESI协议来实现一致性的保障

利用客户端操作,以及利用etcd进行一些注册和配置中心的管理

热点key带来的影响

通过etcd推送:链路长,资源节省

通过长连接: 时间短,资源占用多

事件驱动通知:callback,让用户决定如何处理,限流还是扩容之类的,还是短时间不过期。

相关推荐
上官浩仁2 小时前
springboot redisson 缓存入门与实战
spring boot·redis·缓存
络75 小时前
Redis 非缓存核心场景及实例说明
数据库·redis·缓存
土了个豆子的8 小时前
03.缓存池
开发语言·前端·缓存·visualstudio·c#
YUELEI11810 小时前
langchain 缓存 Caching
缓存·langchain
孤独的人10 小时前
WordPress 性能优化:从插件到 CDN 的全方位缓存设置指南
spring·缓存·性能优化
MAGICIAN...1 天前
【Redis】--持久化机制
数据库·redis·缓存
我真的是大笨蛋1 天前
JVM调优总结
java·jvm·数据库·redis·缓存·性能优化·系统架构
拾忆,想起1 天前
Redis复制延迟全解析:从毫秒到秒级的优化实战指南
java·开发语言·数据库·redis·后端·缓存·性能优化
破烂儿1 天前
基于机器学习的缓存准入策略研究
人工智能·机器学习·缓存
参.商.1 天前
【Day21】146.LRU缓存 (Least Recently Used)
leetcode·缓存·golang