java - 集群环境中的单例

标签 java singleton websphere cluster-computing

将 Singleton 对象重构为集群环境的最佳策略是什么?

我们使用 Singleton 来缓存数据库中的一些自定义信息。它大部分是只读的,但在某些特定事件发生时会刷新。

现在我们的应用程序需要部署在集群环境中。根据定义,每个 JVM 都会有自己的 Singleton 实例。因此,当单个节点上发生刷新事件并刷新其缓存时,JVM 之间的缓存可能会不同步。

保持缓存同步的最佳方法是什么?

谢谢。

编辑:缓存主要用于向 UI 提供自动完成列表(性能原因),我们使用 Websphere。因此,欢迎任何与 Websphere 相关的提示。

最佳答案

用分布式缓存替换你的单例缓存。

一个这样的缓存可以是 JBoss Infinispan但我确信存在其他分布式缓存和网格技术,包括目前可能更成熟的商业技术。

对于一般的单例对象,我不确定。我想我会尽量不要有单例。

关于java - 集群环境中的单例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1194129/

相关文章:

java - 同时提供两个列表内容的迭代器?

java - 在java中释放单例实例

jsf - 在 RAD 8.5 中将 JSF 2.0 项目方面升级到 JSF 2.1

java - 如何引用接口(interface)在 Java 中实现的类类型?

java - 为什么 Java 不编译这段代码?

java - 使用 Jbutton 更新 JLabel 整数值

java - 同一 servlet URL 的多个 URL 映射产生错误

ios - 我应该在哪里声明静态实例?

java - Admob 间质性单例模式 java.lang.NullPointerException :

java - 即使在 Websphere 中应用程序已停止后,线程仍会继续运行