跨群集共享java对象

Din*_*mar 6 java weblogic cluster-computing java-ee

我的要求是跨群集共享一个java对象.

我有点迷惑不解了

  • 是否编写EJB并在集群中共享java对象
  • 使用任何第三方,如infinispan或memecached或兵马俑或
  • 那么JCache呢?

有约束的

  • 我无法更改任何特定于任何应用程序服务器的源代码(例如实现weblogic的单例服务).
  • 我不能为集群和非集群环境提供两个构建.
  • 表现不应降级.
  • 如果我需要使用它,我只寻找开源第三方.
  • 它也需要在weblogic,Websphere,Jbos和Tomcat中工作.

任何人都可以考虑到这些限制,提出最佳选择.

ozm*_*zma 0

  • 这只是一个想法。您可能想检查确切的实现。
  • 它会降低性能,但我不知道如何避免它。
  • 实施起来并不容易。可能您应该考虑负载平衡而不是集群。

您可能会考虑 RMI 和/或动态代理。

  • 提取对象的接口。
  • 使用 RMI 访问真实对象(从所有集群,甚至是实际保存该对象的集群)
  • 为了为现有代码创建 RMI,您可以使用动态代理(再次..不确定实现)

*动态代理可以包装任何对象,并在每个方法调用上执行一些前置和后置任务。在这种情况下,它可能会使用原始对象进行 RMI 调用

  • 您需要集群之间的连接才能传播 RMI 对象。