搜索

15.6. 在多站点、容错消息传递系统中配置客户端

download PDF

内部客户端应用程序是在位于与代理服务器相同的数据中心的机器上运行的应用程序。下图显示了此拓扑。

代理灾难恢复 5

外部客户端应用程序是在代理数据中心外部的机器上运行。下图显示了此拓扑。

代理灾难恢复 6

以下子章节描述了在数据中心中断时将内部和外部客户端应用程序配置为在另一个数据中心中连接到备份代理的示例。

15.6.1. 配置内部客户端

如果您遇到数据中心中断,内部客户端应用程序将与您的代理一起关闭。要缓解这种情况,您必须在单独的数据中心中具有另一个客户端应用程序实例。如果数据中心停机,您可以手动启动备份客户端以连接到您手动启动的备份代理。

要启用备份客户端连接到备份代理,您需要配置与主数据中心中客户端类似的客户端连接。

示例

AMQ Core Protocol JMS 客户端到 master-slave 代理组的基本连接配置如下所示。在本例中,host1host2 是 master 和 slave 代理的主机服务器。

<ConnectionFactory connectionFactory = new ActiveMQConnectionFactory(“(tcp://host1:port,tcp://host2:port)?ha=true&retryInterval=100&retryIntervalMultiplier=1.0&reconnectAttempts=-1”);

要将备份客户端配置为在数据中心停机时连接到备份代理,请使用类似的连接配置,但只指定备份代理服务器的主机名。在本例中,备份代理服务器是 host3

<ConnectionFactory connectionFactory = new ActiveMQConnectionFactory(“(tcp://host3:port)?ha=true&retryInterval=100&retryIntervalMultiplier=1.0&reconnectAttempts=-1”);

其他资源

15.6.2. 配置外部客户端

要启用外部代理客户端在数据中心中断时继续生成或消耗消息传递数据,您必须将客户端配置为切换到另一个数据中心的代理。如果是多站点、容错系统,您可以将客户端配置为故障转移到您在停机时手动启动的备份代理。

例子

以下是在主主从组不可用时将 AMQ 核心协议 JMS 和红帽构建的 Apache Qpid JMS 客户端故障转移到备份代理的示例。在这些示例中,host1host2 是主 master 和 slave 代理的主机服务器,而 host3 是您在数据中心停机时手动启动的备份代理的主机服务器。

  • 要配置 AMQ Core Protocol JMS 客户端,请在客户端尝试连接的代理列表中包括备份代理。

    <ConnectionFactory connectionFactory = new ActiveMQConnectionFactory(“(tcp://host1:port,tcp://host2:port,tcp://host3:port)?ha=true&retryInterval=100&retryIntervalMultiplier=1.0&reconnectAttempts=-1”);
  • 要配置红帽构建的 Apache Qpid JMS 客户端,请将备份代理包含在您在客户端上配置的故障转移 URI 中。

    failover:(amqp://host1:port,amqp://host2:port,amqp://host3:port)?jms.clientID=myclient&failover.maxReconnectAttempts=20

其他资源

Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.