浏览 2766 次
锁定老帖子 主题:Cluster cache 的选择?
该帖已经被评为新手帖
|
|
---|---|
作者 | 正文 |
发表时间:2008-07-14
自从认识hibernate以来就知道 Cluster cache,但当时听说 只有JBoss TreeCache支持Cluster,而且不成熟,不知道现在的Cluster Cache是否成熟? 最近要写一个高并发的IM Server (需要cluster),于是在网上查了一下,现在支持 Cluster的Cache在Java领域比较受欢迎的有三个,分别是 JBoss的TreeCache 、OpenSymphony的OSCache和Apache的JCA(Java Cache System)。对于缓存类型来说,我不需要事务型缓存。 要求:1、会修改缓存中数据,但修改的数据不需要同步到数据库。 2、 cluster 3、定时做 数据库到缓存的同步 请有相关经验的同志帮忙做一个选择,谢谢! 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2008-07-15
如果你要用Hibernate的话,那自然是TreeCache了……(当然了,这就会是会即时同步数据库的咯)。
如果你在内存中的数据并不需要即时同步到数据库,那么你的DB Server必然是压力不大的,但是你又需要集群缓存来进行应用级的数据堆放……那看来你们项目的IM通讯量一定是天量啊! |
|
返回顶楼 | |
发表时间:2008-07-15
感谢 Allen的回复。
IMServer中是否使用Hibernate我也正在考虑!我担心在高并发下,大量使用反射对性能会有影响! 不知道 allen有没有在这样的环境下使用hibernate? (我们服务器是用JDK1.6) |
|
返回顶楼 | |
发表时间:2008-07-15
Hibernate在普通的OLTP领域内表现应该是值得信赖的,但是你的这个系统不知道对Transaction的要求是怎样的了……
如果你的Hibernate都是利用标准的方式在使用的话,Hibernate应该只是在类实例化的时候会使用到Java的反射机制(这里就谈不上大量使用,因为你new一个对象和反射生成一个的成本是基本一致的),加上你使用的是JDK6,那么应该不会存在你所谓的对性能会有影响。 如果你们对应用级别的缓存量(其实也就是应用程序的内存使用量)很大的话,就是用64位的硬件吧(当然同时也就必须使用64位的JRE了),这样JVM可以控制更大的内存空间。 |
|
返回顶楼 | |
发表时间:2008-07-15
楼上对32位和64位版本的JVM之间的区别有多少了解? 能不能提供一些资料?
|
|
返回顶楼 | |
发表时间:2008-07-15
memcached更合适,或是mysql (MEMORY Engine)
|
|
返回顶楼 | |
发表时间:2008-07-19
如果数据量大的话,不建议用hibernate,还是ibatis吧,呵呵。
高并发量的IM Server为什么不用C写呢? |
|
返回顶楼 | |