JBoss 系列五十五:JBoss 7/WildFly 集群之 HornetQ Messaging - III(示例补充说明)

概述

如下两个链接为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 集群。

HornetQ 服务器

两个节点中用到的配置文件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>

如上即两个节点中分别有现场服务器live-server和备份服务器backup-server。

消息需要persistence-enabled

两个配置文件中的两个<hornetq-server>中persistence-enabled属性的配置为true,如下

<persistence-enabled>true</persistence-enabled>

消息只有在标记persistence-enabled为true时才可以在线程服务器和备份服务器之间复制,才能实现高可用。

消息cluster-password

cluster-password用来在HornetQ 服务器之间复制消息使用,我们使用clusterPassword1!作为所有服务器之间的密码如下配置

<cluster-password>clusterPassword1!</cluster-password>

通过backup属性确定HornetQ 服务器是否为现场服务器

我们通过backup来确定HornetQ 服务器是否为现场服务器,如上两个节点中,线程服务器backup配置为true如下:

<backup>false</backup>

而备份服务器的配置为

<backup>true</backup>

如何配置backup-group-name

我们示例中的两个节点共有两个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>

node2节点

        <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>

不使用shared-store

我们知道JBoss 7/WildFly 中 HornetQ Messaging 集群有两种模式:Shared Store 和 Message Replication,Shared Store 需要依赖于高性能存储,所以我们通过配置

<shared-store>false</shared-store>

来使用Message Replication完成集群高可用

你可能感兴趣的:(jboss,集群,服务器,jms,HornetQ)