【问题标题】:Access Coherence cached data cross WebLogic cluster tiers (Data-cache/EJB/Servlet)跨 WebLogic 集群层访问 Coherence 缓存数据(数据缓存/EJB/Servlet)
【发布时间】:2016-05-30 02:03:13
【问题描述】:

我正在尝试配置 WebLogic 12cR2 集群以支持分布式数据缓存和应用程序跨串行集群节点。

集群拓扑为:

1. Three separated weblogic clusters:
  a. Cluster-jpa (local storage enabled, used to hold distributed data  cache, it is JPA back mapped to PostgreSQL database - data tier), 
  b. Cluster-ejb (local storage disabled, used to hold business application (EJBs) - application tier)
  c. Cluster-web (Coherence Web Local storage enable, used to hold and replicate web session, it is servlet cluster - web tier)
2. One Coherence Cluster, name: Coherence-cluster, configured as multicast (clustering mode). Three separated WebLogic clusters (jpa, ejb and web ) were added to coherence cluster as members.
3. Two WebLogic managed servers configured:
  a. JPAServer, targeted to Cluster-jpa cluster, as Cluster-jpa was backboned with Coherence-Cluster, it is a managed coherence server as well. This managed server was used to hold Coherence Application (data tier), a ***.gar was deployed on this server, distributed cache objects and near cache was configured and works well.
  b. EJBServer, targeted to Cluster-ejb cluster, as Cluster-ejb was backboned with Coherence-Cluster as well, it is an other managed coherence server. This managed server will be used to hold WebLogic JavaEE applications (EJBs in ***.ear format) as separated application tier (in application cluster) to consume distributed coherence data cache to provide high performance and high available business logic service. I'm having difficult to configure EJB application (***.ear) now. I followed oracle developing guide to develop a JEE application and embed the cache definition gar file into the lib directory. But unfortunately, I didn't get it work. The issue maybe caused by: EJBServer stay in Cluster-ejb cluster but JPAServer stay in Cluster-jpa cluster.
4. Two or more domain partition configured: 
  a. Couple of virtual targets were defined and target to Cluster-web
  b. Couple of Domain partitions were defined and targeted to virtual targets, those domain partitions were used to hold web applications (servlet tier). Coherence will be used to hold and replicate web session to support failover. Web tier will access Coherence data cache through Application tier (This part is under developing.) 

由于 WebLogic 12cR2 还很新,所以找不到很多好的示例和教程。有没有人可以分享一些关于开发经验的想法?

【问题讨论】:

    标签: servlets caching weblogic12c multi-tier


    【解决方案1】:

    我最近使用最新的 Coherence 版本 [12c R2] 部署了一个应用程序。现在就是 GAR 文件了。

    这篇博文帮助了我的学习曲线,我认为值得一看。

    另外,我在我的网站上上传了一个示例 GAR 文件,您可以查看它并从 there 开始。

    【讨论】:

    • 感谢您的评论。我的 Coherence 托管缓存服务器(数据层中的一致性应用程序,针对 weblogic 集群 - Cluster-jpa 和 Coherence-cluster 主干)运行良好。我很难从应用程序层(包括 ***.gar 的 EJB 应用程序)访问缓存,这些应用程序层保留在其他 weblogic 集群(针对 Cluster-ejb 并且与 Coherence-cluster 相同)。
    • 哦..我明白了...如果您想让它以今天的方式工作,您应该让您的 EJB 应用程序成为您希望与之交互的 COH 集群的成员。也许您可以尝试将您的 EJB 应用程序添加为您想要连接的 COH 集群的 WKA。另一种方法是 ExtendedClient* 方法。将您的 EJB 应用程序转变为 COH 集群的有效实时客户端(套接字样式)。
    • 是的。我的 EJB 应用程序(包括 ***.gar 的 .ear)部署在 Weblogic Managed Server (EJBServer) 上,EJBServer 是 WebLogic Cluster (Cluster-ejb) 的成员,Cluster-ejb 是相干集群(Coherence-cluster)。我的 Coherence 应用程序 (.gar) 部署在缓存服务器 (JPAServer) 上,JPAServer 是其他 WebLogic Cluster (Cluster-jpa) 的成员,Cluster-jpa 是 Coherence Cluster (Coherence-cluster) 的成员) 也是如此。这意味着 EJB 和 GAR 共享同一个 COH 集群。
    猜你喜欢
    • 1970-01-01
    • 2018-06-29
    • 1970-01-01
    • 2010-11-23
    • 2014-09-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多