我們正在使用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