如下两个链接为JBoss 7/WildFly HornetQ Messaging 集群示例中用到的配置文件
https://github.com/kylinsoong/cluster/blob/master/demo/jms/standalone-full-ha-node1.xml
https://github.com/kylinsoong/cluster/blob/master/demo/jms/standalone-full-ha-node2.xml
我们在自己配置过程中,可以参考这两个配置文件进行。本文围绕配置文件进一步说明JBoss 7/WildFly HornetQ Messaging 集群。
两个节点中用到的配置文件standalone-full-ha-node1.xml和standalone-full-ha-node2.xml中都定义了两个HornetQ 服务器,即在<subsystem xmlns="urn:jboss:domain:messaging中有如下配置:
<subsystem xmlns="urn:jboss:domain:messaging:1.3"> <hornetq-server name="live-server"> ... </hornetq-server> <hornetq-server name="backup-server"> ... </hornetq-server> </subsystem>
两个配置文件中的两个<hornetq-server>中persistence-enabled属性的配置为true,如下
<persistence-enabled>true</persistence-enabled>
cluster-password用来在HornetQ 服务器之间复制消息使用,我们使用clusterPassword1!作为所有服务器之间的密码如下配置
<cluster-password>clusterPassword1!</cluster-password>
我们通过backup来确定HornetQ 服务器是否为现场服务器,如上两个节点中,线程服务器backup配置为true如下:
<backup>false</backup>
<backup>true</backup>
我们示例中的两个节点共有两个Groups,即group-1和group-2,node1节点live-server和node2节点backup-server属于group-1,node2节点live-server和node1节点backup-server属于group-2,配置明细如下:
node1节点
<hornetq-server name="live-server"> <backup-group-name>group-1</backup-group-name> </hornetq-server> <hornetq-server name="backup-server"> <backup-group-name>group-2</backup-group-name> </hornetq-server>
<hornetq-server name="live-server"> <backup-group-name>group-2</backup-group-name> </hornetq-server> <hornetq-server name="backup-server"> <backup-group-name>group-1</backup-group-name> </hornetq-server>
我们知道JBoss 7/WildFly 中 HornetQ Messaging 集群有两种模式:Shared Store 和 Message Replication,Shared Store 需要依赖于高性能存储,所以我们通过配置
<shared-store>false</shared-store>