2017-12-02 183 views
0

在我的Apache Ignite 2.3羣集中,我想運行一個節點(可能在將來需要兩個備份),並將其複製緩存保留在磁盤上。我需要確保此節點始終處於運行狀態,而其他緩存節點不具有持久性配置,因此只能在內存中訪問緩存。這些非永久性節點可以隨時按需進出,因爲它們用於計算,但不用於存儲數據。具有混合持久性/非持久性緩存節點的點火羣集

當連接了非持久節點時,持久節點關閉時會發生什麼?理想情況下,緩存對於整個羣集應該消失,但不會。所有節點都繼續在內存中使用緩存。但是這意味着新的數據永遠不會在磁盤上,並在集羣重啓後消失。 我的混合持久/非持久節點的配置不常見嗎?我將如何保持這種類型的集羣一致?

任何背景幫助表示讚賞。

回答

2

你可以配置你的緩存,僅存儲在單個節點上。所以,當它停止時,緩存停止運作。可以通過使用node attributesnode filter來完成。

但在此配置中,每個請求都將發送到單個節點,從而使其他節點的工作變慢。如果你想避免它,請考慮使用near cache

0

這是不可能的;在高速緩存級別啓用持久性,因此部署此高速緩存的所有節點都會將數據保存到磁盤。

此外,我不認爲你會從這種部署中受益。如果它是一個複製緩存,並且您啓動了一個新節點,則需要在數據可用於內存之前將這些數據複製到此新節點。在重新平衡未完成之前,您將對此數據進行遠程調用。從磁盤加載它不會更慢,可能要快得多。