使用 AWS re:Post 即表示您同意 AWS re:Post 使用條款

如何對在 ElastiCache for Redis 自行設計的叢集中容錯移轉後收到的唯讀錯誤進行疑難排解?

1 分的閱讀內容
0

我想對在 Amazon ElastiCache for Redis 自行設計的叢集中容錯移轉後收到的唯讀錯誤進行疑難排解。

簡短說明

如果主要節點容錯移轉到 ElastiCache 自行設計叢集中的複本節點,則複本節點變成主要節點。這允許提供傳入的請求。使用節點端點而非應用程式中叢集的主要端點時,就會發生唯讀錯誤。此外,當應用程式中的 DNS 快取將流量路由到舊的主要節點時,亦會發生此錯誤。

解決方法

若要對已關閉叢集模式的 ElastiCache for Redis 自設計叢集中的唯讀錯誤進行疑難排解,請完成下列步驟:

檢查叢集模式是否已關閉

開啟 ElastiCache 主控台,然後選取 Redis 叢集。檢查叢集的叢集模式是否已關閉。如需詳細資訊,請參閱如何解決 ElastiCache for Redis 中重新導向至碎片的主要節點而不是複本節點的 Redis 用戶端讀取請求?

檢查端點

確保使用主要端點,而不是節點端點。若要檢查寫入命令是否前往主要節點,請使用下列其中一種方法:

使用 redis-cli

  1. 對主要端點使用 redis-cli 以連線到叢集。

  2. 設定金鑰,然後讀取金鑰。
    範例:

    set key1 "hello"
    OK
  3. 確認金鑰設定正確。
    範例:

    get key1
    "hello"

檢查 DNS 設定

為防止 DNS 快取問題,請在應用程式中開啟重試邏輯。確保遵循您使用的 Redis 用戶端程式庫的準則。

檢查傳入的命令

若要檢查傳入的命令,請使用 MONITOR 命令。如需詳細資訊,請參閱 Redis 網站上的 MONITOR。若要開啟 MONITOR,請使用 redis-cli 連線至叢集。MONITOR 命令會列出叢集節點的所有傳入命令。
**注意:****MONITOR ** 命令是很耗費資源的命令,可能會嚴重降低節點效能。請將此命令用作疑難排解的最後一個選擇。

AWS 官方
AWS 官方已更新 7 個月前