管理故障切换

如果 Bigtable 集群无响应,则复制功能可将传入流量故障切换到同一实例的其他集群。故障切换可以手动或自动执行,具体取决于应用使用的应用配置文件以及该应用配置文件的配置方式。

本页面介绍了如何在各集群之间执行故障切换。

在阅读本页内容之前,您应先熟悉 Bigtable 复制功能概览。 您还应该熟悉 Bigtable 可用的路由选项

执行手动故障切换

如果应用配置文件将所有请求路由到单个集群,并且该集群无响应,请使用手动故障切换。有关可用于确定集群运行无响应的判断标准示例,请参阅手动故障切换。在决定进行故障切换之前,请检查实例的复制延迟时间。如需了解详情,请参阅用于复制的图表

如需执行手动故障切换,请更新您的应用配置文件,以使其将请求路由到相应速度快的集群,而不是无响应的集群:

控制台

  1. 在 Google Cloud 控制台中打开 Bigtable 实例列表。

    打开实例列表

  2. 应用配置文件列中,点击将流量路由到无响应的集群的应用配置文件。

    如果您没有看到要修改的应用配置文件,可以查看完整列表,方法是点击实例名称,然后点击左侧窗格中的应用配置文件

  3. 集群路由下方,选择实例中响应速度快的集群。

  4. 点击保存。此时会显示一个确认对话框。

  5. 仔细阅读确认对话框中显示的警告并按照其中的说明进行操作,然后点击继续

gcloud

  1. 如果您不知道实例 ID,请使用 bigtable instances list 命令查看项目的实例列表:

    gcloud bigtable instances list
    
  2. 如果您不知道实例的集群 ID,请使用 bigtable clusters list 命令查看实例中的集群列表:

    gcloud bigtable clusters list --instances=INSTANCE_ID
    

    INSTANCE_ID 替换为实例的永久标识符。

  3. 如果您不知道应用配置文件的 ID,请使用 bigtable app-profiles list 命令查看实例的应用配置文件列表:

    gcloud bigtable app-profiles list --instance=INSTANCE_ID
    

    INSTANCE_ID 替换为实例的永久标识符。

  4. 使用 bigtable app-profiles update 命令更改应用配置文件使用的集群:

    gcloud bigtable app-profiles update APP_PROFILE_ID \
        --instance=INSTANCE_ID \
        --route-to=CLUSTER_ID
    

    提供以下信息:

    • APP_PROFILE_ID:应用配置文件的永久性标识符。
    • INSTANCE_ID:实例的永久性标识符。
    • CLUSTER_ID:所有请求应路由到的集群 ID。此标志用于启用单集群路由

    如果您收到错误消息,请仔细检查错误消息中的所有警告。如果要覆盖错误,请使用 --force 标志再次运行该命令。

更新应用配置文件后,任何使用此应用配置文件的应用很快会开始将其所有请求定向到所选运行状况良好的集群。运行状况不佳的集群将继续使用 CPU 来处理复制和其他维护任务。

在运行状况不佳的集群恢复后,您可以按照相同步骤更新应用配置文件,以使其将所有请求路由到已恢复的集群。

执行自动故障切换

Bigtable 可让您真正地实现自动故障切换。如果应用配置文件使用多集群路由,且距离应用服务器最近的集群的运行状况不佳,则您无需执行任何操作。Bigtable 会自动进行故障切换,即使集群只在短时间内健康状况不佳,它也会使用距离最近的健康状况良好的集群来处理请求,直到健康状况不佳的集群恢复正常。

如需查看在给定时间段内自动重新路由的请求数,请查看 Google Cloud 控制台中的自动故障切换图:打开实例列表,点击实例名称,然后点击监控

后续步骤

了解如何监控 Bigtable 实例