在现有的 ignite 集群上启用默认持久性

Enabling default persistence on existing ignite cluster

我们的应用程序使用 ignite 在不同服务之间共享数据。我们有几个缓存和队列。目前,一些缓存使用第二个数据区域进行持久化。这很好用。新要求是将项目保留在队列中。

因为队列总是使用我假设的默认数据区域,如果我在该区域启用持久性,队列内容应该是持久的。但这仅适用于缓存而不适用于队列。如果集群关闭,队列仍然会丢失其内容。日志显示在默认区域上启用了持久性。

问题是,如果我重置集群(删除 ignite 主文件夹),队列会得到很好的持久化。

我尝试重命名队列,但没有成功。

Apache Ignite 并不真正支持更改数据区域的类型或为同一数据区域混合持久-非持久节点。

您可以尝试一个一个地重置节点(在重启前删除它们的工作目录)。请先在测试中尝试这个。

ignite 邮件列表有一个可行的想法。

更改 CollectionConfiguration 中的组名就成功了。似乎名称不仅会影响分区位置,还会影响数据从磁盘 persistet/read 的方式。