多级缓存以及热点监测

整体架构

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

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

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

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

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

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

热点key带来的影响

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

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

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

相关推荐
熊猫钓鱼>_>10 小时前
Redis 突发缓存穿透:一次完整的定位复盘
数据库·人工智能·redis·缓存·ai·agent·智能
~kiss~17 小时前
大模型的缓存
缓存
刘小八18 小时前
Redis 缓存一致性:一文讲透延时双删原理、并发时序
java·数据库·redis·缓存
数行拙笔18 小时前
Redis---zset类型
数据库·redis·缓存
足球中国2 天前
nuget把缓存搬离C盘
c语言·windows·缓存
Wang's Blog2 天前
Go-Zero项目开发5: 数据库与缓存一致性问题及 go-zero 缓存机制解析
数据库·缓存·golang
蚰蜒螟2 天前
从 Jedis 到内核:深入剖析 Redis BRPOP 的阻塞与唤醒机制
数据库·redis·缓存
后端观测站2 天前
第八篇:Redis 为什么不会每次修改都写磁盘?
数据库·redis·缓存
Lucis__2 天前
基于Cache替换算法的LRU缓存实现
数据结构·c++·算法·缓存·lru
辞旧 lekkk2 天前
【Redis初阶】常见数据类型
开发语言·数据库·c++·redis·学习·缓存·bootstrap