多级缓存以及热点监测

整体架构

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

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

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

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

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

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

热点key带来的影响

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

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

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

相关推荐
升鲜宝供应链及收银系统源代码服务2 小时前
升鲜宝生鲜配送供应链管理系统---PMS--商品品牌多语言存储与 Redis 缓存同步实现
java·开发语言·数据库·redis·缓存·开源·供应链系统
苦学编程的谢3 小时前
Redis_8_List
数据库·redis·缓存
一个不称职的程序猿4 小时前
高并发场景下的缓存利器
java·缓存
java1234_小锋8 小时前
REDIS集群会有写操作丢失吗?为什么
数据库·redis·缓存
hzk的学习笔记11 小时前
Redisson 的 Watchdog 机制
数据库·redis·分布式·缓存
hzk的学习笔记13 小时前
Redisson解锁失败,watchdog会不会一直续期下去?
数据库·redis·缓存
ckm紫韵14 小时前
redis查询速度快的原因?
数据库·redis·缓存
JanelSirry1 天前
缓存击穿,缓存穿透,缓存雪崩的原因和解决方案(或者说使用缓存的过程中有没有遇到什么问题,怎么解决的)
缓存
我命由我123451 天前
Java 并发编程 - Delay(Delayed 概述、Delayed 实现、Delayed 使用、Delay 缓存实现、Delayed 延迟获取数据实现)
java·开发语言·后端·缓存·java-ee·intellij-idea·intellij idea
北城以北88881 天前
SSM--MyBatis框架之缓存
java·缓存·intellij-idea·mybatis