1

上下文

我们正在对我们的应用程序的多云部署进行原型设计(基于微服务)。为了在高可用性和协同定位之间取得平衡,我们使用了 Azure 中的“可用性集”功能。哪种方法可确保 Azure 平台/服务升级不会同时发生在两个不同的集合中。

可用性集 Azure

场景

我在 Google Cloud Platform 和 AWS 中找不到类似的东西。所以在这种情况下,我们必须使用单独的“区域”来实现高可用性。

支持可用性集的一个论点(理论上)是它们比区域更接近,因为前者位于数据中心内。

我们在 GCP 和 AWS 中是否有任何接近“可用性集”的东西。请分享你的想法。

4

2 回答 2

2

关于 GCP,有几种高可用性解决方案。一般来说,建议设计容易出现故障的健壮系统并构建可扩展和有弹性的应用程序

通过设计强大的系统,您可以确保您的虚拟机在单实例故障、实例重启或区域出现问题的情况下可用。

与可用性集最相似的是托管实例组

托管实例组自动更新程序允许您将新版本的软件部署到 MIG 中的实例,支持不同的推出方案(滚动更新、金丝雀更新)。您可以控制部署的速度和范围以及服务中断的程度。

您还可以使用跨区域(数据中​​心)复制数据的区域永久性磁盘。

于 2019-06-17T15:23:42.377 回答
1

听起来归置组可能是 AWS 中的一个等效功能。有几种不同的配置,您可以要求 AWS 将您的实例集群非常接近以最大限度地提高网络 I/O 性能或您的实例分布在硬件上以减少相关故障。

集群 – 在可用区内将实例紧密地打包在一起。此策略使工作负载能够实现紧密耦合的节点到节点通信所需的低延迟网络性能,这是 HPC 应用程序的典型特征。

分区 - 将您的实例分布在逻辑分区中,这样一个分区中的实例组不会与不同分区中的实例组共享底层硬件。此策略通常用于大型分布式和复制工作负载,例如 Hadoop、Cassandra 和 Kafka。

传播——严格将一小组实例放置在不同的底层硬件上,以减少相关故障。

我不能代表谷歌云,因为我不知道有类似的功能,但我也不太熟悉他们的产品。

希望有帮助。

于 2019-06-17T12:36:04.620 回答