如何在集群中对不同的缓存进行分组

How to group different cache in a cluster

假设同一网络中的两台机器上有四个 WildFly 8 实例 运行。我们将它们命名为 A、B、C 和 D。A、B 在 machine1 上运行,C、D 在 machine2 上运行。

在 UDP 集群的情况下,它可以很好地使用多播地址。

使用 TCP 我在集群中遇到了一些问题。我希望 A、C 被认为是一个,B、D 被认为是一个。将 A、C 视为事务服务器,将 B、D 视为报表服务器。 A、C 的缓存名称为 lrpcache,B、D 的缓存名称为 lrpcache1 并以 ha 配置文件开始。当我启动服务器 A 时,C 正在寻找 B、D 中的缓存,因为它们在同一个集群中。

当我全部连接时,我收到以下警告:

Discarding discovery request for cluster 'lrpcache1' from 54a568fd-b07a-dc68-01f3-0d978debf697; our cluster name is 'lrpcache'. Please separate your clusters cleanly.

我希望 A、C 独立于 B、D 工作。

服务器启动时间为 standalone -c standalone-ha.xml -b 192.x.x.x

唯一的 MPING 地址解决了这个问题

节点A,C使用

<socket-binding name="jgroups-mping" port="0" multicast-address="${jboss.default.multicast.address:230.0.0.4}" multicast-port="45700"/>

节点 B,D 使用

<socket-binding name="jgroups-mping" port="0" multicast-address="${jboss.default.multicast.address:230.0.0.5}" multicast-port="45700"/>

因此 A,C 节点不会在 B,D 中查找缓存