30.6. 并置备份服务器
JBoss EAP 还使得备份消息传递服务器可以和另一台实时服务器在同一 JVM 中并置。例如,一个简单的双节点单机服务器集群,每个实时服务器将备份一起分配给另一个服务器。在以这种方式接合服务器时,您可以使用共享存储或复制 HA 策略。在配置消息传递服务器进行并置时,需要记住两个重要事项。
首先,配置中的每个 server
元素都需要自己的 remote-connector
和 remote-acceptor 或
http-connector
和 http-acceptor
。例如,具有 远程接收器的实时服务器可以
配置为侦听端口 5445
,而 来自并置备份的远程
接收器则使用端口 5446
。端口在 socket-binding
元素中定义,必须添加到默认的 socket-binding-group
。如果是 http-acceptors
,则实时和并置备份可以共享相同的 http-listener
。每个服务器配置中与集群相关的配置元素将使用 服务器
使用的 remote-connector
或 http-connector
。相关的配置包含在下面的每个示例中。
其次,请记得为日志相关目录正确配置路径。例如,在共享存储中,实时服务器及其备份必须配置为共享绑定和 消息日志的目录位置 ,以用于大型消息 ,以及进行分页。
30.6.1. 配置并置 HA 拓扑的手动创建 复制链接链接已复制到粘贴板!
以下步骤中使用的管理 CLI 命令示例演示了如何使用并置拓扑配置简单的两个节点集群。这个示例配置了一个两个节点并置群集。实时服务器和备份服务器将存在于每个节点上。在节点 1 上的并置备份与 live 服务器并置在节点 2 上,并且节点 2 上的备份服务器与节点 1 上的实时服务器配对。共享存储和数据复制 HA 策略的示例均包含在内。
以下示例假定您将使用 full-ha
配置文件运行 JBoss EAP。
修改每个实例上的默认服务器,以使用 HA 策略。每个节点上的默认服务器将成为实时服务器。您所遵循的说明取决于您是否已配置共享存储策略或数据复制策略。
共享存储策略的说明: 使用以下管理 CLI 命令添加首选 HA 策略:
/subsystem=messaging-activemq/server=default/ha-policy=shared-store-master:add
/subsystem=messaging-activemq/server=default/ha-policy=shared-store-master:add
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 数据复制策略说明: 每个节点中的默认服务器应配置一个唯一的
group-name
。在以下示例中,第一个 命令在节点 1 上执行,第二个命令在节点 2 上执行。/subsystem=messaging-activemq/server=default/ha-policy=replication-master:add(cluster-name=my-cluster,group-name=group1,check-for-live-server=true) /subsystem=messaging-activemq/server=default/ha-policy=replication-master:add(cluster-name=my-cluster,group-name=group2,check-for-live-server=true)
/subsystem=messaging-activemq/server=default/ha-policy=replication-master:add(cluster-name=my-cluster,group-name=group1,check-for-live-server=true) /subsystem=messaging-activemq/server=default/ha-policy=replication-master:add(cluster-name=my-cluster,group-name=group2,check-for-live-server=true)
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
将新的备份服务器与每个实时服务器并置。
向 JBoss EAP 的每个实例添加新服务器,以与默认的实时服务器并置。新服务器将在另一节点上备份默认服务器。使用以下管理 CLI 命令,创建名为
backup
的新服务器:/subsystem=messaging-activemq/server=backup:add
/subsystem=messaging-activemq/server=backup:add
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 接下来,将新服务器配置为使用首选 HA 策略。您所遵循的说明取决于您是否已配置共享存储策略或数据复制策略。
共享存储策略的说明: 使用以下管理 CLI 命令添加 HA 策略:
/subsystem=messaging-activemq/server=backup/ha-policy=shared-store-slave:add
/subsystem=messaging-activemq/server=backup/ha-policy=shared-store-slave:add
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 数据复制策略的说明:将 备份服务器配置为在其他节点上使用实时服务器的
group-name
。在以下示例中,第一个 命令在节点 1 上执行,第二个命令则在节点 2 上执行。/subsystem=messaging-activemq/server=backup/ha-policy=replication-slave:add(cluster-name=my-cluster,group-name=group2) /subsystem=messaging-activemq/server=backup/ha-policy=replication-slave:add(cluster-name=my-cluster,group-name=group1)
/subsystem=messaging-activemq/server=backup/ha-policy=replication-slave:add(cluster-name=my-cluster,group-name=group2) /subsystem=messaging-activemq/server=backup/ha-policy=replication-slave:add(cluster-name=my-cluster,group-name=group1)
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
配置所有服务器的目录位置。
为 HA 配置服务器后,您必须配置绑定日志 、消息日志和 大型消息目录的位置。如果您计划使用分页,还必须配置分页目录。您所遵循的说明取决于您是否已配置共享存储策略或数据复制策略。
共享存储策略说明: 实时服务器在 节点 1
的路径
值应指向支持的文件系统中与 节点 2 上的备份服务器相同的位置。节点 2 上的实时服务器以及节点 1 上的备份也是如此。使用以下管理 CLI 命令为节点配置目录位置 :
/subsystem=messaging-activemq/server=default/path=bindings-directory:write-attribute(name=path,value=/PATH/TO/shared/bindings-A) /subsystem=messaging-activemq/server=default/path=journal-directory:write-attribute(name=path,value=/PATH/TO/shared/journal-A) /subsystem=messaging-activemq/server=default/path=large-messages-directory:write-attribute(name=path,value=/PATH/TO/shared/largemessages-A) /subsystem=messaging-activemq/server=default/path=paging-directory:write-attribute(name=path,value=/PATH/TO/shared/paging-A) /subsystem=messaging-activemq/server=backup/path=bindings-directory:write-attribute(name=path,value=/PATH/TO/shared/bindings-B) /subsystem=messaging-activemq/server=backup/path=journal-directory:write-attribute(name=path,value=/PATH/TO/shared/journal-B) /subsystem=messaging-activemq/server=backup/path=large-messages-directory:write-attribute(name=path,value=/PATH/TO/shared/largemessages-B) /subsystem=messaging-activemq/server=backup/path=paging-directory:write-attribute(name=path,value=/PATH/TO/shared/paging-B)
/subsystem=messaging-activemq/server=default/path=bindings-directory:write-attribute(name=path,value=/PATH/TO/shared/bindings-A) /subsystem=messaging-activemq/server=default/path=journal-directory:write-attribute(name=path,value=/PATH/TO/shared/journal-A) /subsystem=messaging-activemq/server=default/path=large-messages-directory:write-attribute(name=path,value=/PATH/TO/shared/largemessages-A) /subsystem=messaging-activemq/server=default/path=paging-directory:write-attribute(name=path,value=/PATH/TO/shared/paging-A) /subsystem=messaging-activemq/server=backup/path=bindings-directory:write-attribute(name=path,value=/PATH/TO/shared/bindings-B) /subsystem=messaging-activemq/server=backup/path=journal-directory:write-attribute(name=path,value=/PATH/TO/shared/journal-B) /subsystem=messaging-activemq/server=backup/path=large-messages-directory:write-attribute(name=path,value=/PATH/TO/shared/largemessages-B) /subsystem=messaging-activemq/server=backup/path=paging-directory:write-attribute(name=path,value=/PATH/TO/shared/paging-B)
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 使用以下管理 CLI 命令为节点 2 配置目录位置:
/subsystem=messaging-activemq/server=default/path=bindings-directory:write-attribute(name=path,value=/PATH/TO/shared/bindings-B) /subsystem=messaging-activemq/server=default/path=journal-directory:write-attribute(name=path,value=/PATH/TO/shared/journal-B) /subsystem=messaging-activemq/server=default/path=large-messages-directory:write-attribute(name=path,value=/PATH/TO/shared/largemessages-B) /subsystem=messaging-activemq/server=default/path=paging-directory:write-attribute(name=path,value=/PATH/TO/shared/paging-B) /subsystem=messaging-activemq/server=backup/path=bindings-directory:write-attribute(name=path,value=/PATH/TO/shared/bindings-A) /subsystem=messaging-activemq/server=backup/path=journal-directory:write-attribute(name=path,value=/PATH/TO/shared/journal-A) /subsystem=messaging-activemq/server=backup/path=large-messages-directory:write-attribute(name=path,value=/PATH/TO/shared/largemessages-A) /subsystem=messaging-activemq/server=backup/path=paging-directory:write-attribute(name=path,value=/PATH/TO/shared/paging-A)
/subsystem=messaging-activemq/server=default/path=bindings-directory:write-attribute(name=path,value=/PATH/TO/shared/bindings-B) /subsystem=messaging-activemq/server=default/path=journal-directory:write-attribute(name=path,value=/PATH/TO/shared/journal-B) /subsystem=messaging-activemq/server=default/path=large-messages-directory:write-attribute(name=path,value=/PATH/TO/shared/largemessages-B) /subsystem=messaging-activemq/server=default/path=paging-directory:write-attribute(name=path,value=/PATH/TO/shared/paging-B) /subsystem=messaging-activemq/server=backup/path=bindings-directory:write-attribute(name=path,value=/PATH/TO/shared/bindings-A) /subsystem=messaging-activemq/server=backup/path=journal-directory:write-attribute(name=path,value=/PATH/TO/shared/journal-A) /subsystem=messaging-activemq/server=backup/path=large-messages-directory:write-attribute(name=path,value=/PATH/TO/shared/largemessages-A) /subsystem=messaging-activemq/server=backup/path=paging-directory:write-attribute(name=path,value=/PATH/TO/shared/paging-A)
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
数据复制策略说明:每台服务器使用自己的目录,不将它们与任何其他服务器共享。在以下示例命令中,将
路径
位置的每个值假定为文件系统中的唯一位置。无需更改实时服务器的目录位置,因为它们将使用默认位置。但是,备份服务器仍然必须配置有唯一位置。使用以下管理 CLI 命令为节点配置目录位置 :
/subsystem=messaging-activemq/server=backup/path=bindings-directory:write-attribute(name=path,value=activemq/bindings-B) /subsystem=messaging-activemq/server=backup/path=journal-directory:write-attribute(name=path,value=activemq/journal-B) /subsystem=messaging-activemq/server=backup/path=large-messages-directory:write-attribute(name=path,value=activemq/largemessages-B) /subsystem=messaging-activemq/server=backup/path=paging-directory:write-attribute(name=path,value=activemq/paging-B)
/subsystem=messaging-activemq/server=backup/path=bindings-directory:write-attribute(name=path,value=activemq/bindings-B) /subsystem=messaging-activemq/server=backup/path=journal-directory:write-attribute(name=path,value=activemq/journal-B) /subsystem=messaging-activemq/server=backup/path=large-messages-directory:write-attribute(name=path,value=activemq/largemessages-B) /subsystem=messaging-activemq/server=backup/path=paging-directory:write-attribute(name=path,value=activemq/paging-B)
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 使用以下管理 CLI 命令为节点 2 配置目录位置:
/subsystem=messaging-activemq/server=backup/path=bindings-directory:write-attribute(name=path,value=activemq/bindings-B) /subsystem=messaging-activemq/server=backup/path=journal-directory:write-attribute(name=path,value=activemq/journal-B) /subsystem=messaging-activemq/server=backup/path=large-messages-directory:write-attribute(name=path,value=activemq/largemessages-B) /subsystem=messaging-activemq/server=backup/path=paging-directory:write-attribute(name=path,value=activemq/paging-B)
/subsystem=messaging-activemq/server=backup/path=bindings-directory:write-attribute(name=path,value=activemq/bindings-B) /subsystem=messaging-activemq/server=backup/path=journal-directory:write-attribute(name=path,value=activemq/journal-B) /subsystem=messaging-activemq/server=backup/path=large-messages-directory:write-attribute(name=path,value=activemq/largemessages-B) /subsystem=messaging-activemq/server=backup/path=paging-directory:write-attribute(name=path,value=activemq/paging-B)
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
添加新的接收器和连接器到备份服务器。
每一备份服务器必须配置有
http-connector
以及使用默认http-
。这使得服务器能够通过 HTTP 端口接收和发送通信。以下示例将listener 的 http-
acceptorhttp-acceptor
和http-connector
添加到备份服务器。/subsystem=messaging-activemq/server=backup/http-acceptor=http-acceptor:add(http-listener=default) /subsystem=messaging-activemq/server=backup/http-connector=http-connector:add(endpoint=http-acceptor,socket-binding=http)
/subsystem=messaging-activemq/server=backup/http-acceptor=http-acceptor:add(http-listener=default) /subsystem=messaging-activemq/server=backup/http-connector=http-connector:add(endpoint=http-acceptor,socket-binding=http)
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 为备份
服务器配置 cluster-connection
。每一消息传递服务器需要一个
群集连接
、广播组和
发现组才能
正确通信。使用以下管理 CLI 命令配置这些元素:/subsystem=messaging-activemq/server=backup/broadcast-group=bg-group1:add(connectors=[http-connector],jgroups-cluster=activemq-cluster) /subsystem=messaging-activemq/server=backup/discovery-group=dg-group1:add(jgroups-cluster=activemq-cluster) /subsystem=messaging-activemq/server=backup/cluster-connection=my-cluster:add(connector-name=http-connector,cluster-connection-address=jms,discovery-group=dg-group1)
/subsystem=messaging-activemq/server=backup/broadcast-group=bg-group1:add(connectors=[http-connector],jgroups-cluster=activemq-cluster) /subsystem=messaging-activemq/server=backup/discovery-group=dg-group1:add(jgroups-cluster=activemq-cluster) /subsystem=messaging-activemq/server=backup/cluster-connection=my-cluster:add(connector-name=http-connector,cluster-connection-address=jms,discovery-group=dg-group1)
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
并置服务器配置现已完成。