上下文:
我们正在对我们的应用程序(基于微服务)的多云部署进行原型设计。 为了在高可用性和托管位置之间取得平衡,我们使用了Azure中的“可用性集”功能。哪种类型可以确保不会在两个不同的集合中同时发生Azure平台/服务升级。
场景:
我在Google Cloud Platform和AWS中找不到任何类似的东西。因此,在这种情况下,我们必须使用单独的“区域”以实现高可用性。
(在理论上)支持可用性集的一个论据是,它们比区域(Zone)更接近数据集内部。
在GCP和AWS中,我们是否有接近“可用性集”的内容?请分享您的想法。
答案 0 :(得分:1)
听起来Placement Groups可能是AWS中的等效功能。您可以通过几种不同的配置要求AWS非常紧密地集群您的实例,以最大化网络I / O性能,或者将您的实例跨硬件扩展,以减少相关的故障。 / p>
集群–将实例紧密封装在可用区中。这种策略使工作负载能够实现HPC应用程序中典型的紧密耦合的节点到节点通信所必需的低延迟网络性能。
分区–将实例分布在逻辑分区中,这样一个分区中的实例组就不会与不同分区中的实例组共享基础硬件。大型分布式和复制工作负载(例如Hadoop,Cassandra和Kafka)通常使用此策略。
Spread –严格将一小组实例放置在不同的基础硬件上,以减少相关的故障。
我无法代表Google Cloud,因为我不知道类似的功能,但是我对他们的产品也不熟悉。
希望有帮助。
答案 1 :(得分:1)
关于GCP,有几种解决方案可实现高可用性。通常,建议Design Robust Systems容易失败,Building scalable and resilient applications。
通过设计健壮的系统,可以确保在单实例故障,实例重启或区域出现问题的情况下虚拟机可用。
与可用性集最相似的是Managed Instance Groups。
托管实例组自动更新程序允许您将新版本的软件部署到MIG中的实例,从而支持不同的推出方案(滚动更新,金丝雀更新)。您可以控制部署的速度和范围以及对服务的破坏程度。
您还可以使用Regional Persistent Disk跨区域(数据中心)复制数据。