Ignite 点火:持续到服务器停止

Ignite 点火:持续到服务器停止,ignite,Ignite,我们正在使用Ignite的分布式数据结构-IgniteQueue。请在下面查找服务器详细信息 服务器1:初始化队列并持续运行 服务器2:生产者。向队列生成内容。偶尔开始 服务器3:消费者。使用队列中的内容。偶尔开始 问题:当生产者和消费者之间的时间间隔为10分钟时,队列中的数据将丢失 您能否提供正确的配置[逐出],将队列中的内容保留到服务器1停止为止 最终应该不会有任何数据丢失。队列不会被逐出。而且默认情况下没有备份,因此在启动和停止服务器时,很可能会导致重新平衡,最终会丢失一些条目。我建议采取

我们正在使用Ignite的分布式数据结构-IgniteQueue。请在下面查找服务器详细信息

服务器1:初始化队列并持续运行

服务器2:生产者。向队列生成内容。偶尔开始

服务器3:消费者。使用队列中的内容。偶尔开始

问题:当生产者和消费者之间的时间间隔为10分钟时,队列中的数据将丢失

您能否提供正确的配置[逐出],将队列中的内容保留到服务器1停止为止


最终应该不会有任何数据丢失。

队列不会被逐出。而且默认情况下没有备份,因此在启动和停止服务器时,很可能会导致重新平衡,最终会丢失一些条目。我建议采取以下措施:

  • 将消费者和生产者作为客户端而不是服务器启动。保存数据的服务器拓扑应始终尽可能稳定
  • 使用
    CollectionConfiguration#setBackups
    为队列使用的基础缓存配置一个或多个备份。这将有助于保持状态,即使其中一台服务器出现故障
根据Valentin Kulichenko的评论完成,如下所示

服务器1:初始化队列并持续运行

客户1:制作人。向队列生成内容。偶尔开始

客户2:消费者。使用队列中的内容。偶尔开始

生成Ignite客户端的代码:

点火。设置客户端模式(真)


val ignite=Ignition.start()

听起来像是一个bug,你能和我们分享一个复制机吗?比如基于pom的小项目,会出现什么问题?