我正在尝试配置两个单独的通配符集群,并在同一个网络上将无穷大作为缓存服务器。我需要这两组(例如A组和B组)互不沟通:A组是我们应用程序的预先制作组,B组是我们的发展专题组。集群A和B都有它们的无穷大服务器。这两个集群具有不同的端口和ip。
我没有在手册或网络上找到一种方法来禁用/避免在同一网络上的两个集群之间的通信;我做了很多尝试,但只有一个成功:无穷大似乎是孤立在它的集群中。现在我有了在A组和B组之间共享数据的hornetq,有人知道如何将集群A从集群B中分离出来吗?非常感谢。
发布于 2015-11-02 12:50:50
我建议您对不同的集群使用不同的多播组。您可以通过在standalone.xml/domain.xml文件中更改名称jgroups mping、jgroups-udp、messaging group、mod群集的套接字绑定元素的多播地址属性来实现。
<socket-binding-group name="full-ha-sockets" default-interface="public">
...
<socket-binding name="jgroups-mping" port="0" multicast-address="${jboss.default.multicast.address:230.0.0.4}" multicast-port="45700"/> <socket-binding name="jgroups-udp" port="55200" multicast-address="${jboss.default.multicast.address:230.0.0.4}" multicast-port="45688"/>
<socket-binding name="messaging-group" port="0" multicast-address="${jboss.messaging.group.address:231.7.7.7}" multicast-port="${jboss.messaging.group.port:9876}"/>
<socket-binding name="modcluster" port="0" multicast-address=”224.0.1.105” multicast-port="23364"/>
...
</socket-binding-group>
前两个:jgroups mping,jgroups用于无穷大子系统,您可以通过传递jboss.default.multicast.address system属性来更改它们:
-Djboss.default.multicast.address=different_group
或者在服务器组定义中,如果您使用域模式:
<property name="jboss.default.multicast.address" value="different_group"/>
消息传递组在消息传递子系统(hornetq)中使用,可以通过以下方式配置:
-Djboss.messaging.group.address=different_group
您还应该更改mod群集的组。您可以通过编辑xml文件或引入一个新属性并像前面的示例那样传递它。
关于套接字绑定的更多信息,您可以在以下站点找到(这是针对JBossEAP6.3的,但应该是相同的或类似的):Groups.html
在这里,您可以找到有关如何选择正确的多播组的更多信息:http://www.iana.org/assignments/multicast-addresses/multicast-addresses.xhtml
我建议您使用239.0.0.0-239.255.255.255 (组织-本地范围)的范围。例如,第二个到最后一个八进制可以表示环境(一个用于预制作,两个用于开发),最后一个八进制可以表示特定的多播组。
https://stackoverflow.com/questions/33475995
复制