如何對 DynamoDB Accelerator (DAX) 用戶端中的「無可用的端點」錯誤進行何疑難排解?
上次更新日期:2022 年 11 月 28 日
我在 Amazon DynamoDB Accelerator (DAX) 中收到「無可用的端點」錯誤訊息。如何對此錯誤進行疑難排解?
簡短說明
當用戶端並無至 DAX 叢集之任何節點的網路路由時,就會出現「無可用的端點」錯誤。或者,當叢集關閉或面臨 CPU 使用率過高時,可能會發生這些錯誤。
以下為一些可能造成下列錯誤之一的示範例案例:
- DAX 節點的運作狀態檢查失敗:由於節點的 CPU 負載過高,用戶端無法檢查叢集節點的運作狀態。
- 每個節點的多個連續 IO 例外狀況:DAX 用戶端會計算 IO 例外狀況的數目,以決定伺服器節點是否關閉。首先,用戶端會從組態端點擷取伺服器節點清單。若其從伺服器節點接收到五個以上的故障,則會從作用中伺服器節點清單中移除該節點。若以此種方式移除所有伺服器節點,則用戶端最終會顯示一份作用中節點的空白清單。作為回應,用戶端會顯示「無可用的端點」錯誤。
解決方式
如要解決錯誤並讓叢集節點正常運作,請依照下方的疑難排解步驟執行:
- 於 DAX 用戶端中,有個可重新整理作用中伺服器節點清單的執行緒。使用重新整理選項,來還原清單中的作用中節點。
- 根據用戶端的流量模式,增加 RequestTimeout。如需詳細資訊,請參閱為延遲感知型 Amazon DynamoDB 應用程式調整 AWS Java SDK HTTP 請求設定。
- 增加運作狀態檢查間隔。依預設,health-check-interval 為 5 秒。
注意:只有在端點因 socket-timeout-exception 而遭到移除時,增加此間隔才會將端點放回用戶端側端點集之中。 - 如要減少這些錯誤再次發生的機會,請縱向擴展為更大的執行個體類型。或者,將更多節點新增至叢集以橫向擴展。
相關資訊
ClientConfig (DAX)