我正在研究在 Amazon Web Services (AWS) 上运行集群 JBoss。
我想尝试 S3_PING,即让 JBoss 使用 S3 存储桶进行动态节点发现等,因为没有可用的多播。我找到了一段与 S3_Ping 相关的示例配置 XML,但我不确定您应该在 JBoss 安装的哪个位置进行配置。
那么,我需要调整哪些 JBoss 配置文件才能使 S3_PING 正常工作?谁能指出我更完整的例子?
JBoss 5.1.0 正式版。(这可能更像是一个 JGroups/JBoss 问题。我已经有了这个设置的 S3 存储桶,所以没有问题。)
也许迟了,但想指出 EAP5 确实支持 S3_PING。至于社区分发,JBoss AS 7 有这种支持(你已经从 Kaitsu 的回放中知道了),但现在支持该功能。
对于 EAP,您可以访问描述如何使用 Red Hat EAP AMI 启用集群的官方EAP 文档。对于 JBoss Application Server 7,您可能会发现这个线程很有价值。
S3_PING 似乎仍然是一个实验性功能,这可能会解释缺少的文档...无论如何,您可以将 S3_PING 配置到位于
$JBOSS_HOME/server/all/cluster/jgroups-channelfactory.sar/META-INF/
.有关该文件内容的更多信息,请参阅JBoss 5.1 Clustering Guide 中的JGroups Channel Protocol Stack Configuration 。遗憾的是,如前所述,它没有说明 S3_PING。基本上,您可以将 PING 元素替换为以下内容:
您可能需要事先自行创建 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 站点中的某些页面声称并非如此。我自己还没有测试过这个。
S3_PING 在 JGroups 2.6.12 中添加是 JBoss AS 6.0.0.M2 的一部分
S3 很棒,您应该尝试一下 CirrAS AMI,查看 wiki 文章: http: //community.jboss.org/wiki/CirrASRunningOnAmazonEC2 - 后端实例使用 S3_PING 进行发现。
对于 AS5,没有 S3_PING 的可行解决方案是使用 GossipRouter(包含在 jgroups 中),然后使用 TUNNEL 配置(如果您提取 jgroups.jar 存档,里面有所有不同选项的配置)。