Chinaunix首页 | 论坛 | 博客
  • 博客访问: 101742
  • 博文数量: 28
  • 博客积分: 1410
  • 博客等级: 上尉
  • 技术积分: 295
  • 用 户 组: 普通用户
  • 注册时间: 2007-08-01 22:43
文章分类

全部博文(28)

文章存档

2008年(28)

我的朋友
最近访客

分类:

2008-04-21 19:08:26

可以肯定的说,集群中不能用servletcontext来保存全局数据,那是肯定不行的。

这个问题,基本上比较复杂,我想到的有这个几个方法,供参考:
1.  用jndi保存数据,存取都用jndi来操作,然后把jndi做集群,bea的底层都是这么干的。
优缺点:比较方便,但是一般不建议存取大量数据。

2.   写在数据库中,每个服务器都在数据库读写这个变量,这样数据的一致性性,更新都能解决。
优缺点:可以存取大量数据,需要改数据结构,还得改程序,比较麻烦,而且速度没法保障,特别象统计在线人数这类全局数据,会频繁访问数据库。

3.  使用一些可以做集群的cache,例如:oscache,jbosscache等等。
优缺点:比较好的解决方法,可以存放大量全局数据,特别象一些常量数据,比如类型数据等等。响应速度非常快。一般现在很多open source的系统都用这些来做全局常量缓存使用。但是,这又是一门新技术,对开发人员要求比较高,需要改造现有代码。

阅读(509) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~