容錯移轉

如果某個 Bigtable 叢集沒有回應,複製功能可讓連入流量容錯移轉至同一個執行個體中的另一個叢集。容錯移轉可以手動或自動執行,這取決於應用程式所使用的應用程式設定檔,以及應用程式設定檔的設定方式。

本頁面說明手動和自動容錯移轉如何在使用複製功能的執行個體中運作。如要瞭解如何完成容錯移轉,請參閱「管理容錯移轉」。

閱讀本頁面之前,請先熟悉 Bigtable 複製功能總覽。也須熟悉可用的轉送選項

手動容錯移轉

如果應用程式設定檔使用單叢集轉送,將所有要求導向至一個叢集,您必須自行判斷何時開始容錯移轉至其他叢集。

如出現以下信號,表示容錯移轉至不同叢集會有所幫助:

  • 叢集開始回傳大量的暫時性系統錯誤。
  • 大量的請求開始逾時。
  • 平均請求延遲增加至無法接受的程度。

因為這些訊號的產生可能源自於很多不同的原因,因此不能保證容錯移轉至不同叢集可以解決根本問題。在容錯移轉之前與之後監控您的執行個體,驗證指標是否已改善。

如要進一步瞭解如何完成手動容錯移轉程序,請參閱管理容錯移轉一文。

自動容錯移轉

如果應用程式設定檔使用多叢集轉送,Bigtable 會自動處理容錯移轉。當最近的叢集無法再處理要求時,Bigtable 會將流量轉送至其他最近的可用叢集。

即使某個叢集只是短時間內無法接收要求,亦有可能發生自動容錯移轉。舉例來說,如果 Bigtable 將要求傳送至某個叢集,但該叢集回應速度過慢或傳回暫時性錯誤,Bigtable 通常會試著向另一個叢集重新發出該要求。

如果您使用多叢集轉送,並傳送設有期限的要求,Bigtable 會在必要時自動容錯移轉,協助您在期限內完成作業。如果要求期限將至,但初始叢集尚未傳送回應,Bigtable 會將要求重新導向至下一個最近的叢集。

Bigtable 會使用內部「最後寫入者勝出」演算法,處理因容錯移轉而可能發生的任何資料衝突,直到複製作業完成為止。詳情請參閱「解決衝突」。

如果您使用複製功能搭配多叢集轉送,為應用程式提供高可用性 (HA),則應在多個區域中或附近 Google Cloud ,找出用戶端伺服器或 VM。即使應用程式伺服器不是由 Google Cloud代管,這項建議也適用,因為您的資料會透過最接近應用程式伺服器的 Google Cloud區域進入 Google Cloud 網路。與任何要求一樣,容錯移轉在距離較短時完成的速度會更快。

很多自動容錯移轉的發生相當短暫以至於您沒有注意到。您可以在 Google Cloud 控制台中查看「Automatic Failovers」(自動容錯移轉) 圖表,瞭解指定時間範圍內自動重新轉送的要求數:開啟執行個體清單,按一下執行個體名稱,然後按一下「System insights」(系統洞察)

後續步驟