我们有一个Jboss 5作为集群,由2个节点组成,使用组播,一切正常,服务器能够发现并组成集群
但问题是这些服务器会产生大量的组播流量,这会影响共享同一网络的其他服务器的网络性能。
我是Jboss集群的新手,有没有办法使用单播(点对点)而不是多播?或者配置多播,使其对网络的其余部分不存在问题?你能向我推荐一些文档,博客文章或其他可以帮助我摆脱这个问题的文档吗?
发布于 2012-11-12 16:18:22
我在这里没有得到任何答案,但这可能会对将来我们设法解决这个问题的人有所帮助
在启动脚本中为jboss设置以下TTL属性
-Djgroups.udp.ip_ttl=1这会将组播消息的跳数限制为1。这不会减少群集JBoss之间的网络流量,但会防止其向外部传播。
如果您在同一子网中有受泛洪问题影响的其他服务器,那么您可能必须切换到TCP堆栈并执行单播,而不是多播
-Djboss.default.jgroups.stack=tcp此外,jboss deploy中还有更多用于集群的配置文件,您应该查看。
server/production/deploy/cluster/jboss-cache-manager.sar/META-INF/jboss-cache-manager-jboss-beans.xml 以及JGroups配置中的其他配置文件。
发布于 2013-03-05 16:41:37
如果组播由于某种原因不能正常工作,我们可以使用单播。
使用单播群集而不是UDP mcast。打开您的配置文件,查看jgroups-channelfactory-stacks.xml文件,找到名为"tcp“的堆栈。该堆栈仍然仅将UDP用于组播发现。如果低UDP流量是可以的,你不需要改变它。如果是,或者mcast不起作用,您将需要配置TCPPING协议和配置intial_hosts来查找集群成员。
然后,您需要告诉JBoss缓存使用此堆栈,打开jboss- Cache -manager-jboss-beans.xml,其中为每个缓存定义了一个堆栈。您可以在此处将其从udp更改为tcp,也可以在启动时简单地使用该属性,只需添加:
-Djboss.default.jgroups.stack=tcp
https://stackoverflow.com/questions/13228674
复制相似问题