我正在研究在 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
答案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 存档,里面有所有不同选项的配置)。