论坛首页 入门技术论坛

Cluster cache 的选择?

浏览 2741 次
该帖已经被评为新手帖
作者 正文
   发表时间: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、定时做 数据库到缓存的同步

     请有相关经验的同志帮忙做一个选择,谢谢!

   发表时间:2008-07-15  
如果你要用Hibernate的话,那自然是TreeCache了……(当然了,这就会是会即时同步数据库的咯)。

如果你在内存中的数据并不需要即时同步到数据库,那么你的DB Server必然是压力不大的,但是你又需要集群缓存来进行应用级的数据堆放……那看来你们项目的IM通讯量一定是天量啊!
0 请登录后投票
   发表时间:2008-07-15  
感谢 Allen的回复。
IMServer中是否使用Hibernate我也正在考虑!我担心在高并发下,大量使用反射对性能会有影响!
    不知道 allen有没有在这样的环境下使用hibernate? (我们服务器是用JDK1.6)
 
0 请登录后投票
   发表时间:2008-07-15  
Hibernate在普通的OLTP领域内表现应该是值得信赖的,但是你的这个系统不知道对Transaction的要求是怎样的了……

如果你的Hibernate都是利用标准的方式在使用的话,Hibernate应该只是在类实例化的时候会使用到Java的反射机制(这里就谈不上大量使用,因为你new一个对象和反射生成一个的成本是基本一致的),加上你使用的是JDK6,那么应该不会存在你所谓的对性能会有影响。

如果你们对应用级别的缓存量(其实也就是应用程序的内存使用量)很大的话,就是用64位的硬件吧(当然同时也就必须使用64位的JRE了),这样JVM可以控制更大的内存空间。
0 请登录后投票
   发表时间:2008-07-15  
楼上对32位和64位版本的JVM之间的区别有多少了解? 能不能提供一些资料?
0 请登录后投票
   发表时间:2008-07-15  
memcached更合适,或是mysql (MEMORY Engine)
0 请登录后投票
   发表时间:2008-07-19  
如果数据量大的话,不建议用hibernate,还是ibatis吧,呵呵。

高并发量的IM Server为什么不用C写呢?
0 请登录后投票
论坛首页 入门技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics