跨集群共享java对象
我的要求是跨集群共享一个java对象 我感到困惑跨集群共享java对象,java,jakarta-ee,weblogic,cluster-computing,Java,Jakarta Ee,Weblogic,Cluster Computing,我的要求是跨集群共享一个java对象 我感到困惑 是否编写EJB并跨集群共享java对象 或 使用任何第三方,如infinispan或memecached或terracotta或 那JCache呢 有这样的限制 我无法更改任何特定于任何应用程序的源代码 服务器(例如实现weblogic的单例服务) 我不能为集群和非集群环境提供两种构建 不应降低性能 我正在寻找唯一的开源第三方,如果我需要使用它 它也需要在weblogic、Websphere、Jbos和Tomcat中工作 考虑到这些限制,
- 是否编写EJB并跨集群共享java对象 或
- 使用任何第三方,如infinispan或memecached或terracotta或
- 那JCache呢
- 我无法更改任何特定于任何应用程序的源代码 服务器(例如实现weblogic的单例服务)
- 我不能为集群和非集群环境提供两种构建
- 不应降低性能
- 我正在寻找唯一的开源第三方,如果我需要使用它
- 它也需要在weblogic、Websphere、Jbos和Tomcat中工作
- 这只是一个想法。您可能需要检查具体的实现
- 这会降低性能,但我不知道如何避免
- 这不是一个容易实现的方案。也许你应该考虑负载平衡而不是集群。<李>
您可以考虑RMI和/或动态代理。
- 提取对象的接口
- 使用RMI访问真实对象(从所有集群,甚至从实际持有对象的集群)
- 为了为现有代码创建RMI,您可以使用动态代理(同样..不确定实现)
- 为了传播RMI对象,您将需要集群之间的连接
您可以编写自己的客户机/服务器,但我认为,如果您处理的对象的需求开始变得复杂,您将开始遇到更大的框架所解决的问题。事实上,Hazelcast非常简单,应该完全不需要自己开发。它不是开源的,但是Oracle Coherence很容易解决这个问题 如果您需要JCache的实现,我知道目前唯一可用的是Oracle Coherence;见:
为了充分披露,我在甲骨文公司工作。这篇文章中表达的观点和观点是我自己的,不一定反映我雇主的观点或观点。是否有一个通用API可用于所有符合J2EE的服务器?关于JCache JSR 107呢?我一直在研究和研究Terracotta,以便找到一种方法使应用程序在JVM处理中共享对象:是否有一种通用API可以与所有符合J2EE的服务器一起工作?JCacheJSR107怎么样?