MySQL 8.4 發行說明
群組複製的群組通訊引擎 (XCom,一種 Paxos 變體) 包含一個快取,用於儲存群組成員之間交換的訊息 (及其元數據),作為共識協定的一部分。除了其他功能外,訊息快取還用於在與其他群組成員無法通訊一段時間後重新連線的成員,復原遺失的訊息。
可以使用 group_replication_message_cache_size
系統變數,為 XCom 的訊息快取設定快取大小限制。如果達到快取大小限制,XCom 會移除已決定和傳遞的最舊項目。所有群組成員都應設定相同的快取大小限制,因為嘗試重新連線的無法連線成員會隨機選取任何其他成員,以復原遺失的訊息。因此,每個成員的快取中都應該有相同的訊息。
請確保您的系統上有足夠的記憶體,以容納您選擇的快取大小限制,並考慮 MySQL 伺服器的其他快取和物件集區的大小。請注意,使用 group_replication_message_cache_size
設定的限制僅適用於快取中儲存的資料,而快取結構需要額外 50 MB 的記憶體。
選擇 group_replication_message_cache_size
的值時,請考慮在成員被逐出之前的期間內的預期訊息量。此期間的長度由 group_replication_member_expel_timeout
系統變數控制,該變數決定了成員返回群組而非被逐出的等待期間 (最長一小時),除了成員初始 5 秒偵測期間。逾時預設為 5 秒,因此預設情況下,成員在至少缺席 10 秒之前不會被逐出。