跳至主内容
版本:4.2

Khepri FAQ

我看到 RabbitMQ 代码中的 khepri_db 功能标志被标记为实验性功能。它是否受支持?

是的,从 RabbitMQ 4.0 开始,RabbitMQ 团队将支持使用 Khepri 的节点。同样,也将提供升级路径以迁移到未来版本。

然而,RabbitMQ 3.13.x 中的 Khepri 是不受支持的。如果 Khepri 在 3.13.x 节点上已启用,则无法从 3.13.x 升级到 4.x 及更高版本。您将不得不使用 蓝绿部署 将所有内容迁移到另一个节点或集群。

我看到 RabbitMQ 代码中的 khepri_db 功能标志被标记为实验性功能。是否可以升级到未来的版本?

是的;请参阅 上一个问题 和答案。

为什么即使我没有启用 khepri_db 也会在日志中看到“正在启动基于 Khepri 的 RabbitMQ 元数据存储”?

Khepri 元数据存储始终会被初始化,即使 RabbitMQ 不使用它而继续使用 Mnesia 作为其后端。

原因在于 khepri_db 功能标志可以从任何节点启用。该节点必须能够与集群中的所有节点上的 Khepri 进行通信。因此,Khepri 会在所有节点上启动,以便在未来启用时做好准备。

同时,它不会消耗资源或干扰节点或集群的运行。

为什么即使我没有启用 khepri_db 也会在日志中看到“基于 Khepri 的 RabbitMQ 元数据存储已就绪”?

请参阅 上一个问题 和答案。

是否可以禁用 Khepri?

不可以,一旦执行了迁移,回退到 Mnesia 是不受支持的。

另一种方法是使用 蓝绿部署 将所有内容迁移到另一个节点或集群,并停用启用了 Khepri 的节点。

是否可以将定义从基于 Mnesia 的节点导入到基于 Khepri 的节点?

是的。定义与元数据存储无关,可以导入到任何 RabbitMQ 节点,而不管用于导出定义的节点使用的元数据存储后端是什么,或者用于导入的节点使用的元数据存储是什么。

© . This site is unofficial and not affiliated with VMware.