是否可以在没有单独的 Apache HTTPD 服务器的情况下将 mod-cluster 与 JBoss EAP 6.2 一起使用?

是否可以在没有单独的 Apache HTTPD 服务器的情况下将 mod-cluster 与 JBoss EAP 6.2 一起使用?

我负责将一套 Web 应用程序从 Web Logic 移植到 JBoss EAP(版本 6.2),并对其进行原型设计。我绝不是 Web Logic 或 JBoss 方面的专家。

本系统的高层要求如下:

a. 负载平衡将由位于 JBoss 服务器前面的硬件处理。

b. 我们不想也不需要部署单独的 Apache Web 服务器。我们要求使用 JBoss EAP 附带的内部现成 Web 服务器。

c. 然而,我们确实希望集群能够实现高可用性,并且会话复制

d. JBoss EAP 的域模型功能(用于部署等)很不错,但如果它造成太多复杂情况,则可能是可有可无的,在这种情况下,我们可以使用集群独立服务器。

为了实现上述目标,我使用 full-ha 域配置文件启动 JBoss。我无法使会话复制工作,因此在具有两个服务器的简单集群中集群失败。日志中有错误表明某些设置不正确,但我不知道那可能是什么。但是,jgroups 测试和多播 udp 网络设置测试都正常工作。

以下是第二台服务器上的一些错误消息。

[Server:beta] 08:26:09,863 WARN  [org.jgroups.protocols.TP$ProtocolAdapter] (Incoming-6,shared=udp) dropping unicast message to wrong destination master:alpha/web; my local_addr is slave02:beta/web

[Server:beta] 08:27:58,647 DEBUG [org.jgroups.protocols.pbcast.STABLE] (OOB-19,shared=udp) slave02:beta/web: received digest from master:alpha/web (digest=master:alpha/web: [0 (0)]) which does not match my own digest (slave02:beta/web: [0 (0)]): ignoring digest and re-initializing own digest

[Server:beta] 08:28:38,067 DEBUG [org.jgroups.protocols.pbcast.STABLE] (OOB-19,shared=udp) slave02:beta/web: received digest from master:alpha/web (digest=master:alpha/web: [0 (0)]) which does not match my own digest (slave02:beta/web: [0 (0)]): ignoring digest and re-initializing own digest

在第一台服务器上,情况大致相同:

[Server:alpha] 08:27:43,430 DEBUG [org.jgroups.protocols.pbcast.STABLE] (OOB-20,shared=udp) master:alpha/web: received digest from slave02:beta/web (digest=slave02:beta/web: [0 (0)]) which does not match my own digest (master:alpha/web: [0 (0)]): ignoring digest and re-initializing own digest

我展示这些只是为了展示我正在尝试处理的问题的一个样本。但我不是在寻找这些问题的答案,而是在寻找两个更基本问题的答案。

  1. 如果您没有将 JBoss 部署在外部 Web 服务器后面,那么默认安装在 JBoss full-ha 域配置文件中的 mod-cluster 包是否会发挥作用或完全起作用?我们正在对此进行一些内部讨论。

  2. 与尝试将集群置于 JBoss 域模型之上相比,我们是否更应该尝试对独立服务器进行集群?

谢谢。

答案1

Mod_cluster 是一个基于 httpd 的负载平衡器。因此,您需要一个安装了 mod_cluster 组件的 httpd/webserver,该组件与 JBoss 的 HA 配置文件中安装的 mod_cluster 组件协同工作。 http://mod-cluster.jboss.org

JBoss 的域设置能够从单个控制点管理多个 AS 实例,而独立设置则无法做到这一点。集群在两种设置模式下的工作方式相同。 https://developer.jboss.org/wiki/JBossAS7UserGuide

问候,

劳伦斯

相关内容