我们正在使用Ignite的分布式数据结构 - IgniteQueue。请在下方找到服务器详细信息Ignite:持续到服务器停止
服务器1:初始化队列并连续运行。
服务器2:生产者。生成内容到队列中。立即开始
服务器3:消费者。使用队列中的内容。立即开始
问题:当生产者和消费者之间存在10分钟的时间差时,队列中的数据就会丢失。
您能否提供正确的配置[驱逐],使队列中的内容持续存在,直到服务器1停止?
最终应该不会有任何数据丢失。
在此先感谢。
我们正在使用Ignite的分布式数据结构 - IgniteQueue。请在下方找到服务器详细信息Ignite:持续到服务器停止
服务器1:初始化队列并连续运行。
服务器2:生产者。生成内容到队列中。立即开始
服务器3:消费者。使用队列中的内容。立即开始
问题:当生产者和消费者之间存在10分钟的时间差时,队列中的数据就会丢失。
您能否提供正确的配置[驱逐],使队列中的内容持续存在,直到服务器1停止?
最终应该不会有任何数据丢失。
在此先感谢。
排队没有驱逐。并且默认情况下没有备份,所以很可能当您启动和停止服务器时,会导致重新平衡并最终导致某些条目丢失。我建议执行以下操作:
CollectionConfiguration#setBackups
为队列中使用的基础高速缓存配置一个或多个备份。这将有助于保持状态,即使其中一台服务器出现故障。它的作品!非常感谢Valentin Kulichenko :) – Raghav
完成按瓦伦丁Kulichenko的评论如下
服务器1:初始化队列和连续运行。
客户1:生产者。生成内容到队列中。立即开始
客户2:消费者。使用队列中的内容。现在开始,然后
代码,使的Ignite客户:
Ignition.setClientMode(真)
VAL点燃= Ignition.start()
这听起来像一个bug,请你分享我们有一个复制者?像小POM项目会显示这个问题? – Michael