GoCache技术点记录
GoCache技术点记录
简历描述
Cachelyt
项目描述:使用Go语言实现的高性能分布式缓存,可以单点部署或集群部署,实现分布式缓存节点通信协调机制和多种缓存淘汰策略自选功能。重视系统的高并发、可扩展和易维护性,实现分布式环境下高效的缓存服务。
主要工作:
- 实现LRU和LRU2缓存淘汰算法,针对不同缓存访问场景提供灵活的缓存策略选择,提高缓存命中率。
- 实现集群部署机制,设计自适应的一致性哈希算法,保证分布式一致性,支持动态节点加入和离开,保证缓存数据的均匀分布。
- 优化锁竞争场景,通过分段锁和两级缓存结构减少锁粒度,提高并发性能。
- 基于etcd设计实现集群环境下,缓存服务节点注册发现模块,支持自动节点管理和健康检查。
- 实现基于gRPC的高性能节点通信机制,使用protobuf设计合理消息服务协议,保证分布式环境下主备机的数据一致性。
- 设计优雅关闭和资源回收流程,保证节点下线时资源正确释放,保证系统稳定性和资源释放。
- 设计缓存穿透和缓存击穿保护机制,通过实现请求合并和限流策略,减少对后端服务的压力,提高系统的稳定性。
This post is licensed under CC BY 4.0 by the author.