Skip to content

lijunping365/Open-Cache

Repository files navigation

Open-Cache

企业级开源分布式缓存项目

已实现功能

  1. 通过 Dashboard 查看及管理我们的缓存,有监控缓存的能力(可以通过该程序手动清除某个系统的某个缓存, 可以查看各个系统的缓存的命中率... 参数)

  2. 应用缓存指标数据上报给 Dashboard 使用消息中间件,内存缓存同步使用哪个 MQ 指标数据就使用哪个 MQ

  3. Dashboard 可以查询缓存节点的缓存指标数据,查询缓存节点上有哪些 cacheName,以及操作缓存节点上的缓存数据(网络通讯使用Open-Light-Rpc)

  4. 支持多应用统一管理(多个应用使用统一的可视化程序进行管理,假设我们有用户系统,有订单系统... 这些系统都是集群模式,我们需要使用一个统一的可视化程序进行管理这些系统的缓存)

设计原则

  1. 应用 -> cacheName -> 节点 按照这个顺序去操作

概念解读

  1. 缓存预热:1. 预热的目的就是防止突增流量将 DB 或 Redis 压垮,将数据放到一级缓存,所以就可以从两个方向入手:
  • 手动或定时任务将数据放入到一级缓存

  • 手动或定时任务将数据从二级缓存放入到一级缓存中

注意点

  1. 缓存操作可以使用负载均衡,只调用一个节点就行,因为调用一个之后它会通知其他节点同步缓存。

  2. 批量操作 cacheKey 都需要指定数量,默认只返回 100 条,另外支持模糊查询

  3. 建议使用 kafka 来做缓存同步消息中间件,因为如果用 redis 或 redisson,那 redis 或 redisson 既要做缓存又要做缓存同步消息中间件,

那 redis 或 redisson 的压力就比较大,所以建议使用 kafka 来做缓存同步消息中间件,而且还可以使用 kafka 做缓存指标上报

About

开源分布式缓存项目

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published