如何在 AWS 上使用 S3_Ping 设置 JBoss?

如何在 AWS 上使用 S3_Ping 设置 JBoss?

我正在研究在 Amazon Web Services(AWS)上运行集群 JBoss。

我想尝试 S3_PING,即让 JBoss 使用 S3 bucket 进行动态节点发现等,因为没有可用的多播。我找到了与 S3_Ping 相关的配置 XML 示例,但我不确定您应该在 JBoss 安装中的哪里进行配置。

所以,我需要调整哪些 JBoss 配置文件才能使 S3_PING 正常工作? 谁能给我指出一个更完整的例子?

JBoss 5.1.0 GA。(这可能更多的是 JGroups/JBoss 问题,而不是其他问题。我已经为此设置了 S3 存储桶,因此没有问题。)

答案1

S3_PING 似乎仍然是一个实验性的功能,这也许可以解释缺少的文档...无论如何,您可以将 S3_PING 配置为位于的 jgroups-channelfactory-stacks.xml $JBOSS_HOME/server/all/cluster/jgroups-channelfactory.sar/META-INF/

JGroups 通道协议栈配置有关该文件内容的更多信息,请参阅 JBoss 5.1 Clustering Guide。遗憾的是,如前所述,它没有提到任何有关 S3_PING 的信息。基本上,您只需将 PING 元素替换为以下内容:

<S3_PING secret_access_key="903rfj04rjg490" access_key="ji3gfo" location="bucketname/>

您可能需要事先自行创建 S3 存储桶。

更新: 似乎 JBoss 5.1 无法与支持 S3_PING 的较新 JGroups 版本兼容。通过查看 JGroups JIRA,似乎JBoss 5.x 将不再支持较新版本的 JGroups。这意味着您必须等待 JBoss AS 6.0.0 MS3 版本才能获得它,请参阅问题这里。通过查看 JBoss AS JIRA,似乎 MS3 不会在近期发布。:(

更新2010-03-17: 我刚刚注意到 JBoss StormGrind 项目中的人已经使 S3_PING 工作了,并且更多他们使用的版本。他们使用 JBoss AS 6.0.0-MS2 和 JGroups 2.6.13.GA。因此,S3_PING 是在 2.8 之前发布的,尽管 JBoss 网站上的一些页面声称并​​非如此。我还没有亲自测试过。

答案2

也许有点晚了,但我还是想指出 EAP5 确实支持 S3_PING。至于社区发行版,JBoss AS 7 有该支持(您已经从 Kaitsu 的回放中知道了这一点),但现在支持该功能。

对于 EAP,你可以去官方EAP 文档介绍如何使用 Red Hat EAP AMI 启用集群。对于 JBoss Application Server 7,您可能会发现此主题有价值的。

答案3

JGroups 2.6.12 中添加了 S3_PING是 JBoss AS 6.0.0.M2 的一部分

答案4

S3 很棒,您应该尝试一下 CirrAS AMI,查看 wiki 文章:http://community.jboss.org/wiki/CirrASRunningOnAmazonEC2- 后端实例使用 S3_PING 进行发现。

对于 AS5,没有 S3_PING 的可行解决方案是使用 GossipRouter(包含在 jgroups 中),然后使用 TUNNEL 配置(如果您提取 jgroups.jar 存档,里面有所有不同选项的配置)。

相关内容