一、 概述
xcache是我最近研究分布式缓存期间,利用工作外的时间写的一个分布式缓存。它由三部分组成,xcache本身是一个本地缓存,xcache-server、xcache-client分别实现了缓存的服务端和客户端。
二、 起因
最近,在整公司的开放平台时,接触了分布式缓存,所以就想了解个究竟。公司采用的分布式缓存很像memcached的架构,服务端用c写的,客户端用java写的。缓存服务器由多个节点组成,各个客户端通过对缓存键的哈希实现负载均衡,与服务器通信,实现放入、删除、获取元素等操作。见下图。
分布式缓存在大型网站使用比较多,因为数据访问是一大性能瓶颈。分布式缓存减小了数据库压力,实现数据的共享,提高了访问效率,还可以通过灵活的方式扩容。
通过一段时间的学习,我发现java领域里没有类似memcached这样的分布式缓存。在现有知识和理论掌握的基础上,我想自己开发一个分布式缓存,也不知道叫啥,干脆起名xcache。
三、 进度
2009-08
完成了xcache本地缓存编写,一个简单的本地缓存雏形已定。
总结本地缓存的实现,计划申请一个开源库分享。
开始思考并设计xcache-server,采用nio实现。
2009-07
开始思考并设计xcache本地缓存,部分参考了ehcache。
每天下班后回来写一点代码,大概一个月完成了本地缓存编写。