2017-12-02 184 views
0

在我的Apache Ignite 2.3群集中,我想运行一个节点(可能在将来需要两个备份),并将其复制缓存保留在磁盘上。我需要确保此节点始终处于运行状态,而其他缓存节点不具有持久性配置,因此只能在内存中访问缓存。这些非永久性节点可以随时按需进出,因为它们用于计算,但不用于存储数据。具有混合持久性/非持久性缓存节点的点火群集

当连接了非持久节点时,持久节点关闭时会发生什么?理想情况下,缓存对于整个群集应该消失,但不会。所有节点都继续在内存中使用缓存。但是这意味着新的数据永远不会在磁盘上,并在集群重启后消失。 我的混合持久/非持久节点的配置不常见吗?我将如何保持这种类型的集群一致?

任何背景帮助表示赞赏。

回答

2

你可以配置你的缓存,仅存储在单个节点上。所以,当它停止时,缓存停止运作。可以通过使用node attributesnode filter来完成。

但在此配置中,每个请求都将发送到单个节点,从而使其他节点的工作变慢。如果你想避免它,请考虑使用near cache

0

这是不可能的;在高速缓存级别启用持久性,因此部署此高速缓存的所有节点都会将数据保存到磁盘。

此外,我不认为你会从这种部署中受益。如果它是一个复制缓存,并且您启动了一个新节点,则需要在数据可用于内存之前将这些数据复制到此新节点。在重新平衡未完成之前,您将对此数据进行远程调用。从磁盘加载它不会更慢,可能要快得多。