管理容錯移轉
如果某個 Bigtable 叢集沒有回應,複製功能可讓連入流量容錯移轉至同一個執行個體中的另一個叢集。容錯移轉可以手動或自動執行,這取決於應用程式所使用的應用程式設定檔,以及應用程式設定檔的設定方式。
本頁面說明在叢集之間執行容錯移轉的步驟。
閱讀本頁面之前,請先熟悉 Bigtable 複製功能總覽。您也應熟悉 Bigtable 適用的路由選項。
執行手動容錯移轉
如果應用程式設定檔會將所有要求轉送到單一叢集,而這個叢集沒有回應時,請使用手動容錯移轉。如需判斷叢集是否沒有回應的準則範例,請參閱「手動容錯移轉」一節。決定容錯移轉前,請先檢查執行個體的複寫延遲時間。詳情請參閱「複製圖表」。
如要執行手動容錯移轉,請更新應用程式設定檔,將要求轉送到回應叢集,避免轉送到無回應叢集:
主控台
在 Google Cloud 控制台中開啟 Bigtable 執行個體清單。
在「Application profiles」(應用程式設定檔) 欄中,按一下將流量轉送到無回應叢集的應用程式設定檔。
如果找不到要編輯的應用程式設定檔,您可以按一下執行個體的名稱,再按一下左側窗格的 [Application profiles] (應用程式設定檔),即可查看完整清單。
在「Cluster routing」(叢集轉送) 下,選取執行個體中回應迅速的叢集。
按一下 [Save] (儲存)。隨即會顯示確認對話方塊。
詳閱確認對話方塊中的警告,然後按照對話方塊中的指示並按一下 [Continue] (繼續)。
gcloud
如果您不知道執行個體 ID,請使用
bigtable instances list
指令查看專案的執行個體清單:gcloud bigtable instances list
如果您不知道執行個體的叢集 ID,請使用
bigtable clusters list
指令查看執行個體的叢集清單:gcloud bigtable clusters list --instances=INSTANCE_ID
將
INSTANCE_ID
替換為執行個體的永久 ID。如果您不知道應用程式設定檔的 ID,請使用
bigtable app-profiles list
指令查看執行個體的應用程式設定檔清單:gcloud bigtable app-profiles list --instance=INSTANCE_ID
將
INSTANCE_ID
替換為執行個體的永久 ID。使用
bigtable app-profiles update
指令變更應用程式設定檔使用的叢集:gcloud bigtable app-profiles update APP_PROFILE_ID \ --instance=INSTANCE_ID \ --route-to=CLUSTER_ID
請提供下列資訊:
APP_PROFILE_ID
: 應用程式設定檔的永久 ID。INSTANCE_ID
: 執行個體的永久 ID。CLUSTER_ID
:所有要求應該轉送到這個叢集的叢集 ID。這個標記可啟用單叢集轉送。
如果收到錯誤訊息,請詳閱錯誤訊息中的任何警告。如要覆寫這個錯誤,請重新執行加上
--force
標記的指令。
當您更新應用程式設定檔後,使用這個應用程式設定檔的任何應用程式會立即開始將所有要求導向至您選取的健康叢集。不健康的叢集會繼續使用 CPU 處理複製功能及其他維護工作。
不健康的叢集復原之後,您可以遵循相同的步驟更新應用程式設定檔,以便將所有要求轉送至已復原的叢集。
執行自動容錯移轉
Bigtable 提供真正的自動容錯移轉。如果應用程式設定檔使用多叢集轉送,而最靠近應用程式伺服器的叢集健康狀態變得不良,您無需採取任何動作。 即使叢集不健康的時間非常短暫,Bigtable 也會自動執行容錯移轉,在不健康的叢集復原之前,使用最近的健康叢集來處理要求。
如要查看指定時間範圍內自動重新轉送的要求數,請在Google Cloud console 中查看「Automatic Failovers」(自動容錯移轉) 圖表:開啟「list of instances」(執行個體清單),按一下執行個體名稱,然後按一下「Monitoring」(監控)。
後續步驟
瞭解如何監控 Bigtable 執行個體。