代码之家  ›  专栏  ›  技术社区  ›  Jan Richter

SQL数据库蓝/绿部署

  •  0
  • Jan Richter  · 技术社区  · 7 年前

    说到数据库,我有点不确定。我们不想将Kubernetes用于SQL,所以目前的想法是使用googlecloudsql托管服务(竞争对手是否更适合蓝绿部署SQL?)。问题是它能在旧版本和新版本的数据库节点之间同步数据吗?

    假设我们有3个活动pod和至少2个活动数据库节点(以及一个负载平衡器)。

    1. 新代码的Pod被创建。
    2. 使用当前数据创建新的数据库节点。
    3. 新的Pod获取新的环境变量以连接到新的数据库。
    4. 运行新Pod的运行状况检查,如果通过,Pod将开始接收通信量。
    5. 其中一个旧的吊舱离线了。

    它应该一直执行这个迭代,直到所有pod和数据库节点都被替换。

    还是有一个完全不同的更好的解决方案?

    谢谢您!

    1 回复  |  直到 7 年前
        1
  •  1
  •   Iñigo    7 年前

    我不确定这是否是您想要的,但据我所知,云SQL副本将是一个更好的解决方案。你可以读副本 [1] [2]

    读取副本是主实例的副本,它几乎实时地反映主实例的更改。您可以创建一个副本来从主服务器卸载读取请求或分析流量。您可以为单个主实例创建多个读取副本。

    或故障转移副本 [3] ,在主服务器崩溃的情况下,数据继续在那里可用。

    如果为高可用性配置的实例遇到中断或变得无响应,云SQL将自动故障转移到故障转移副本,并且您的数据将继续对客户端可用。这称为故障转移。

    如果你需要的话,你可以把它们结合起来。