2017-07-14 38 views
0

實際上,我正在嘗試Hazelcast提供用於緩存數據的原型。 Hazelcast部署嵌入在彈簧引導微服務中。Hazelcast僅用於一個Hazelcast實例的分佈式查詢

我們使用分佈式查詢來搜索具有密鑰部分值的條目。

我們的基礎設施目前只能提供微服務的一個實例。該地圖已經在數據庫中用MapStore實現持久化了。

如果微服務被關閉,我們會丟失內存中的所有數據,並且分佈式查詢不會返回任何結果。使用loadAllKeys()等通過MapStore初始化內存中的數據不是一種方法,因爲我們將在數據庫中加載大量條目。

作爲臨時解決方案,我們直接查找數據庫。這當然不是一個最好的解決方案,但它目前是有效的。我們希望爲它提供合適的解決方案。有沒有人有一個想法如何做到這一點?

最佳

+0

爲什麼微服務被關閉? –

+0

由於某些基礎設施條件,它應該支持這種用例。 –

回答

0

如果你閉上你的集羣下來,用loadAllKeys()重新填充,這將運行儘快數據庫可以處理。如果那段時間太長,那是因爲數據庫太慢了。

尋找一個更快的持久存儲是真正的答案,但減少停機次數也將有所幫助。

後者需要設計思想,例如便攜式對象允許內存中的數據在無需重新加載的情況下更改格式。