企业级开源分布式缓存项目
-
通过 Dashboard 查看及管理我们的缓存,有监控缓存的能力(可以通过该程序手动清除某个系统的某个缓存, 可以查看各个系统的缓存的命中率... 参数)
-
应用缓存指标数据上报给 Dashboard 使用消息中间件,内存缓存同步使用哪个 MQ 指标数据就使用哪个 MQ
-
Dashboard 可以查询缓存节点的缓存指标数据,查询缓存节点上有哪些 cacheName,以及操作缓存节点上的缓存数据(网络通讯使用Open-Light-Rpc)
-
支持多应用统一管理(多个应用使用统一的可视化程序进行管理,假设我们有用户系统,有订单系统... 这些系统都是集群模式,我们需要使用一个统一的可视化程序进行管理这些系统的缓存)
- 应用 -> cacheName -> 节点 按照这个顺序去操作
- 缓存预热:1. 预热的目的就是防止突增流量将 DB 或 Redis 压垮,将数据放到一级缓存,所以就可以从两个方向入手:
-
手动或定时任务将数据放入到一级缓存
-
手动或定时任务将数据从二级缓存放入到一级缓存中
-
缓存操作可以使用负载均衡,只调用一个节点就行,因为调用一个之后它会通知其他节点同步缓存。
-
批量操作 cacheKey 都需要指定数量,默认只返回 100 条,另外支持模糊查询
-
建议使用 kafka 来做缓存同步消息中间件,因为如果用 redis 或 redisson,那 redis 或 redisson 既要做缓存又要做缓存同步消息中间件,
那 redis 或 redisson 的压力就比较大,所以建议使用 kafka 来做缓存同步消息中间件,而且还可以使用 kafka 做缓存指标上报