KahaDB 复制 (实验性)

功能 > 集群 > 主从 > KahaDB 复制 (实验性)

注意

此功能正在审查中,目前不支持。

概述

新的 KahaDB 存储支持非常快速且灵活的复制系统。它具有以下特点:

  • 日志级别复制(这意味着主节点复制记录的开销更低)。
  • 支持多个从节点。
  • 支持在运行时动态添加从节点。
  • 使用多个并发数据传输会话进行初始从节点同步。
  • 大型从节点同步可以恢复,因此如果从节点重启,同步进度不会丢失。
  • 可配置的最小副本数允许您暂停处理,直到数据被保证复制足够多次。

主节点选举

KahaDB 支持可插拔的主节点选举算法,但目前唯一的实现是基于 ZooKeeper 的算法。

ZooKeeper 用于实现主节点选举算法。ZooKeeper 是一个非常快速、复制的内存数据库,它具有易于实现集群控制算法的功能。它是一个 Apache 项目,您可以 免费下载。在设置 KahaDB 主从配置之前,您必须安装并至少运行一个 ZooKeeper 服务器。

配置代理

ActiveMQ Classic 二进制发行版在 $ACTIVEMQ_HOME/conf/ha.xml 中包含一个 KahaDB HA 代理配置。

它被设置为在 localhost 的端口 2181 上查找 ZooKeeper 3.0.0 服务器。如果您的 ZooKeeper 服务器不是在该位置运行,请编辑该配置。

通过运行以下命令启动配置:

prompt> $ACTIVEMQ_HOME/bin/activemq xbean:ha.xml

配置文件的实际内容如下:{snippet:lang=xml|id=example|url=activemq/trunk/assembly/src/release/conf/ha.xml}

了解 kahadbReplication XML 元素

brokerURI 属性

请注意,brokerURI 属性指向另一个代理配置文件。ha-broker.xml 包含代理在节点接管主节点角色时使用的实际代理配置。ha-broker.xml 配置文件是一个标准的代理配置,除了以下方面:

  • 它必须在代理元素上设置 start=”false” 属性。
  • 它必须不配置 persistenceAdapter。

上述规则允许复制系统在主节点启动时将复制的 KahaDB 存储注入主节点。

minimumReplicas 属性

minimumReplicas 指定在同步更新操作被认为成功之前需要多少份数据库副本。将其设置为 0 允许代理即使没有附加从节点也能继续运行。如果该值设置为 1 或更大,并且没有附加从节点,则代理的持久消息处理将暂停,直到附加最小数量的从节点并将数据同步。

uri 属性

uri 属性应始终配置为基于 kdbr:// 的 URI。KDBR 代表 “KahaDB 复制”,这是主节点和从节点之间使用的复制协议。主节点绑定指定的端口,从节点随后连接到该端口并建立复制会话。uri 中的主机名必须更新为实际机器的主机名,因为这也被用于识别集群中的节点。

directory 属性

这是 KahaDB 存储其持久文件的数据目录。

Apache、ActiveMQ、Apache ActiveMQ、Apache 羽毛标志和 Apache ActiveMQ 项目标志是 Apache 软件基金会的商标。版权所有 © 2024,Apache 软件基金会。根据 Apache 许可证 2.0 许可。