今天对 J2Cache 做了最基本的测试,代码已经开放出来,地址是 http://git.oschina.net/ld/J2Cache
补充为什么要做这个框架:
说实话,OSC 现在还是单个 Tomcat,只不过我们做了一些分流措施将爬虫的请求独立运行了。我一直跟人说 OSC 的扩展很容易,只需要加多几个 Tomcat 就搞定了。如果是纯浏览的网站的确是这样的,但事实上并非如此。要让应用工作在集群里,首先 OSC 没用到 session ,这点是满足要求的。但是 OSC 目前使用 Ehcache 作为缓存框架,这是一个进程内的缓存框架,如果集群的话会导致缓存数据不同步。
缓存数据不同步有两个解决办法:
1. 集中式缓存,直接将 Ehcache 换成 Redis 这类产品。如果访问量不大是没问题,访问量大,大量的缓存数据访问使得应用服务器和缓存服务器之间的网络I/O成为瓶颈,这点我有切身之痛。
2. Ehcache 的分布式(我以前专门写过一篇文章),节点间大量的数据复制带来额外的开销,在节点多的情况下此问题越发严重
因此才有了今天的 J2Cache,引入集中式缓存 Redis ,通过进程内的 Ehcache 缓存来缓解网络 I/O 瓶颈。同时也降低集中式缓存服务器的压力。
Read full article from 两级缓存框架 J2Cache 的简单实验 - 开源中国社区
No comments:
Post a Comment