EasyCache 是一个基于 极客兔兔分布式缓存 改造而来的项目,相较于原版,做了多项增强和拓展优化。旨在提升整体性能的同时,也兼顾架构设计。
-
支持多种缓存淘汰策略
原项目使用了简单的 LRU 实现,FastCache 在此基础上提供了多种可切换的淘汰算法(如 LRU、LFU、FIFO 等)。不仅方便灵活配置,也利于练习常见缓存算法的实现能力。 -
扩展通信方式由 HTTP 升级为 RPC
将节点间通信方式从 HTTP 改为自定义 RPC 协议,显著提升了通信效率,也为后续拓展和讨论 RPC 框架设计打下基础。 -
更细粒度的并发控制
对原有锁机制进行了细化,降低了锁竞争,提升并发性能,特别适合对性能敏感的分布式环境。 -
引入热点互备机制(Hot Key Backup)
为解决热点 Key 请求集中导致单节点负载过高的问题,借鉴 GroupCache 的设计,引入热点 Key 的副本备份机制,提升系统稳定性与响应能力。 -
接入 etcd 实现动态节点发现与管理
通过接入 etcd,实现了分布式节点的注册、心跳检测、自动上下线等功能。这部分为系统的动态伸缩和高可用能力提供了基础支撑,也能引出一系列实战中的分布式问题。 -
支持缓存过期与自动清理机制
增加了缓存的过期策略,支持按 Key 设置 TTL,并定时清理过期缓存,保持内存占用稳定、可控。