Apache Ignite 2.11:穩定優先

Apache Ignite社區於9月17日發佈了2.11版本,這個版本很大程度上是一個以穩定爲主的版本,解決了底層架構的一些技術債務和缺陷。在200多個已完成的任務中,120多個是缺陷修復,但是仍然有一些有價值的改進,下面簡單看一下。

瘦客戶端

分區感知在2.11版本中默認啓用,允許瘦客戶端直接向持有待處理數據的節點發送查詢請求。在沒有分區感知的情況下,應用需通過充當傳入請求的代理的單個服務端節點執行所有查詢和操作。另外Java瘦客戶端中還添加了對持續查詢的支持。

蜂窩集羣部署

Apache Ignite內部具有所謂的切換(分區映射交換的一部分)過程,用於執行集羣範圍操作的原子執行並將集羣從一個一致狀態移動到另一個一致狀態,例如,緩存創建/銷燬、一個節點加入/離開/故障動作、快照創建等。在切換過程中,所有用戶事務都會被停頓一小段時間,這反過來增加了整個集羣的平均延遲和吞吐量。

將集羣拆分爲包含4-8個節點的虛擬單元可以提高集羣的總體性能,並在節點故障的情況下最小化一個單元對另一個單元的影響。這種技術還顯著提高了不受故障節點影響的單元上事務的恢復速度。事務在未受影響的單元上停頓的時間也會減少,這反過來又會減少整個集羣操作的最差延遲。

從這個版本開始,用戶可以使用RendezvousAffinityFunction關聯函數和ClusterNodeAttributeColocatedBackupFilter將節點分組爲虛擬單元。由於節點基線屬性用作單元格標記,因此添加了相應的BASELINE_NODE_ATTRIBUTES系統視圖。

新的頁面替換策略

當開啓了原生持久化且Ignite存儲在磁盤上的數據量大於爲數據區分配的堆外內存量時,應將某些頁面從堆外退出到磁盤,以從磁盤加載其他必要的頁面。這個過程稱爲頁面替換。之前Apache Ignite使用的是Random-LRU頁面替換算法,維護成本低,但是缺點很多,開始頁面替換時對性能影響很大。在某些環境中,管理員甚至需要定期強制重啓集羣以避免頁面替換。從這個版本開始,有一些新算法可以使用:

  • Segmented-LRU算法
  • CLOCK算法

頁面替換算法可通過配置DataRegionConfigurationpageReplacementMode屬性實現,現在默認使用CLOCK算法,具體請參見相關的文檔。

快照的恢復和檢查命令

檢查

所有快照在集羣範圍的併發操作以及Ignite的持續更改方面完全保持一致。但是某些情況下,爲了讓用戶安心,可能需要檢查快照的完整性和數據一致性。Apache Ignite現在提供了一個內置的快照一致性檢查命令,使用戶能夠驗證內部數據一致性、計算數據分區哈希和頁面校驗和,並在發現問題時輸出結果。check命令還將通過包含主分區的主鍵計算出的哈希值與相應的備份分區進行比較,並報告任何差異。

# This procedure does not require the cluster to be in the idle state.
control.(sh|bat) --snapshot check snapshot_name

恢復

以前只能手動執行快照恢復過程,即通過將持久化數據文件從快照目錄完全複製到Apache Ignite工作目錄。現在自動恢復過程允許用戶使用Java API或命令行腳本(推薦使用命令行)從在線集羣上的快照恢復緩存組。但是該恢復過程還有幾個限制,詳細信息請參見相關的文檔。

#Start restoring all user-created cache groups from the snapshot "snapshot_09062021".
control.(sh|bat) --snapshot restore snapshot_09062021 --start

# Start restoring only "cache-group1" and "cache-group2" from the snapshot "snapshot_09062021".
control.(sh|bat) --snapshot restore snapshot_09062021 --start cache-group1,cache-group2

# Get the status of the restore operation for "snapshot_09062021".
control.(sh|bat) --snapshot restore snapshot_09062021 --status

# Cancel the restore operation for "snapshot_09062021".
control.(sh|bat) --snapshot restore snapshot_09062021 --cancel
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章