14.3.5. 使用并置备份配置高可用性
除了配置 live-backup 组外,您还可以在与其他实时代理相同的 JVM 中并置备份代理。在这种配置中,每个 live 代理配置为请求另一个 live 代理在其 JVM 中创建和启动备份代理。
图 14.4. 并置实时和备份代理
您可以将并置与共享存储或复制一起使用,作为高可用性(HA)策略。新备份代理从创建它的 live 代理继承其配置。备份的名称设置为 colocated _backup_n
,其中 n
是实时代理创建的备份数。
另外,备份代理会继承其连接器和接收器的配置,来自创建它的 live 代理。默认情况下,端口偏移 100 应用到每个端口偏移。例如,如果 live 代理具有端口 616 的接收器,则创建的第一个备份代理将使用端口 61716,第二个备份将使用 61816,以此类推。
日志、大消息和分页的目录会根据您选择的 HA 策略来设置。如果您选择共享存储,请求代理会通知要使用的目标代理。如果选择了复制,则从创建代理继承目录,并将新备份的名称附加到其中。
此流程将集群中的每个代理配置为使用共享存储 HA,并请求创建备份并与集群中的其他代理在一起。
流程
-
打开第一个代理的
<broker_instance_dir>/etc/broker.xml
配置文件。 将代理配置为使用 HA 策略和 colocation。
在本例中,代理配置了共享存储 HA 和 colocation。
<configuration> <core> ... <ha-policy> <shared-store> <colocated> <request-backup>true</request-backup> <max-backups>1</max-backups> <backup-request-retries>-1</backup-request-retries> <backup-request-retry-interval>5000</backup-request-retry-interval/> <backup-port-offset>150</backup-port-offset> <excludes> <connector-ref>remote-connector</connector-ref> </excludes> <master> <failover-on-shutdown>true</failover-on-shutdown> </master> <slave> <failover-on-shutdown>true</failover-on-shutdown> <allow-failback>true</allow-failback> <restart-backup>true</restart-backup> </slave> </colocated> </shared-store> </ha-policy> ... </core> </configuration>
request-backup
-
通过将此属性设置为
true
,此代理将请求集群中另一个实时代理创建备份代理。 max-backups
-
此代理可以创建的备份代理数量。如果将此属性设置为
0
,这个代理将不接受来自集群中其他代理的备份请求。 backup-request-retries
-
此代理应尝试创建备份代理的次数。默认值为
-1
,这意味着无限尝试。 backup-request-retry-interval
-
代理在重试创建备份代理请求前应等待的时间,以毫秒为单位。默认值为
5000 或
5 秒。 backup-port-offset
-
用于新备份代理的接收器和连接器的端口偏移。如果这个代理收到为集群中的另一个代理创建备份的请求,它将创建带有这个数量偏移的端口的备份代理。默认值为
100
。 excludes
(可选)-
从备份端口偏移中排除连接器。如果您为备份端口偏移中应当排除的外部代理配置了任何连接器,请
为每个连接器添加一个 <connector-ref>
。 master
- 此代理的共享存储或复制故障切换配置。
slave
- 此代理备份的共享存储或复制故障转移配置。
- 对集群中的每个剩余的代理重复此步骤。
其它资源
- 有关使用并置备份的代理集群 示例,请参阅 HA 示例程序。