【问题标题】:Using Weblogic session replication for sort of in-memory database将 Weblogic 会话复制用于某种内存数据库
【发布时间】:2016-02-03 17:32:06
【问题描述】:

我必须构建一种内存数据库,我知道我可以使用 EhCache 和 HazelCast 等内存数据管理解决方案,但我倾向于不将它们插入我的系统并使用 Weblogic 会话来实现复制。

以下是我的问题:

  • 既然这实际上不是用户会话,我可以在应用程序启动时创建一个会话,然后使用Weblogic会话复制功能来实现会话复制吗?
    • 或者我应该考虑 Weblogic 应用程序上下文复制,这可能吗?
  • 我是否必须拥有 Weblogic 集群才能使用 WL 会话复制,或者也可以不使用它?
  • 假设我有 4 台 WL 服务器(在不同的机器上运行)并且都在同一个集群中,如果任何节点/服务器已获取数据并将其放入会话中,那么它会在所有其他节点/服务器中自动复制吗?李>
  • 假设我关闭了 3 个节点/服务器,在这些节点重新启动后,我的活动节点会自动将数据推送到启动节点吗?

【问题讨论】:

    标签: java jakarta-ee weblogic session-replication


    【解决方案1】:

    您应该将 Web 会话用作内存数据库。大多数内存数据库允许微调数据在节点之间的分布方式。他们还具有事务和恢复支持。 Web 会话是节点之间 Java 对象的非常简单的复制,您甚至不应该在其中保存关键数据。在 Web Session 对象中复制数据的主要目的是,在服务器出现故障的情况下,让用户在另一台服务器上保持登录状态,并继续其工作,即一些有状态的 Web UI。

    根据您使用的 WebLogic 版本(基于获得的许可),您可能已经可以访问 Oracle 内存数据网格解决方案 Coherence。

    更新以下正确回答了 OP 的问题。

    既然这实际上不是一个用户会话,我可以在上面创建一个会话吗? 应用程序启动,然后使用 Weblogic 会话复制功能 实现会话复制?

    • 或者我应该考虑 Weblogic 应用程序上下文复制,是否可行?

    (Web 应用程序的)应用程序范围内的对象不会被复制。不过,您也许可以使用 JNDI 来做到这一点,但我也不推荐这两种方法(包括启动侦听器以某种方式将内容推送到会话)。

    我是否必须拥有 Weblogic 集群才能使用 WL 会话复制还是没有它也可以完成?

    是的,如果您想要会话复制,则需要一个 WebLogic 集群。除了使用集群之外,还有一些要求。请参阅文档章节6 Failover and Replication in a Cluster, in WLS 12.2.1 Docs

    假设我有 4 个 WL 服务器(在不同的机器上运行)并且全部在 同一个集群,如果任何节点/服务器已经获得数据并将其放入 会话然后它将自动复制到所有其他 节点/服务器?

    并非针对所有服务器,仅针对少数服务器。有关使用 Replication Groups 和其他选项的更多详细信息,请参阅文档。

    假设我关闭 3 个节点/服务器,在这些节点重新启动后,将 我的活动节点会自动将数据推送到起始节点吗?

    这不是那么简单,但总之,它并不能如你所愿。会话不会复制到 WebLogic 集群中的所有节点。复制发生在足够多的节点(主节点和辅助节点)上。有关WLS Docs for 12.2.1 的更多信息。

    同样,您不应将 HTTP 会话复制功能用作内存数据库。它根本不是为此而设计的。而不是“构建一种内存数据库”,而是使用一个。

    但如果您真的非常想将 HTTP Session 用作“内存数据库”,至少要确保您使用 Coherence*Web 作为 WebLogic 中的复制机制。

    【讨论】:

    • 我认为网络会话将支持事务管理和恢复,对吧?我的数据并不重要,但我认为唯一的问题是创建集群来支持 Web 会话,对吧?另外,我想知道如果我在 Web 会话中保留关键数据有什么关系,像 EhCache 这样的内存数据管理解决方案也做同样的事情,将东西保存在服务器内存中,对吗?如果您能针对每个问题提供您的意见,我将非常感激,
    • 我的观点是,如果您可以访问受支持和许可的内存数据网格解决方案,为什么要依赖非设计的东西来做您想做的事?
    • 没关系,我知道,我在我的问题中也提到过..这并没有回答我的问题..
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-09-21
    • 1970-01-01
    • 2021-10-11
    • 1970-01-01
    • 1970-01-01
    • 2011-06-21
    相关资源
    最近更新 更多