繁体   English   中英

Postgres 数据库的多区域可用性能够为我们的客户提供 4+9 的可用性?

[英]Multi-Region Availability for Postgres Database to be able to offer our clients 4+ 9's of availability?

我们使用 Google Cloud SQL,在高可用性模式下部署时,它提供 99.95% 的 SLA。 Google 仍然在同一区域内提供其高可用性,只是在不同的区域内。 我们有客户要求 99.99% 的 SLA,并愿意支付 99.999% 的费用。

我们唯一想到的是在另一个区域创建一个只读副本,如果发生这种中断,我们可以故障转移到该区域。 不过,这样的故障转移将是手动的。 我们必须 1. 关闭我们的主数据库。 2. 提升只读副本 3. 重新部署我们的服务器,更改我们数据库的环境变量。

由于一切都是如此手动,似乎很难将其作为我们 SLA 的一部分提供,因为这样的更改需要大约 30 分钟。 我们需要设置一些自动的东西。

当然,这不是一个普遍的问题。 必须有更好的方法来实现 postgres 的更高可用性。 其他公司是做什么的?

我一直在管理 PostgreSQL 高可用性集群。 我们在 VMWare 上进行了多区域部署的故障转移测试。 您需要以下步骤进行故障转移:

  1. 使用pg_promote DR 区域中的备用服务器
  2. 在promoted done 上运行CHECKPOINT ,以便将加入这个新提升节点的其他节点获得最新信息。
  3. 使用pg_rewind将其他集群节点加入这个新提升的节点,仅用于差异同步。 如果部署新节点,则需要使用pg_basebackup加入这个新节点。

额外提示:如果支持复制槽,则应在执行步骤 1 后立即为每个其他集群节点创建复制槽。

以上所有步骤都需要使用一些工具作为 sidecar 监控执行

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM