Docker、Mesos、Kubernetes 等新技术可以在组织中实现更好的服务器利用率。但是,考虑到整个数据中心的故障,我想知道如何最大限度地提高两个数据中心的利用率。
鉴于这种情况:
具有相等计算资源的两个数据中心(DC-A 和 DC-B)。两个数据中心都以负载平衡/循环方式运行和服务请求。两个数据中心的服务器利用率均为 80%。
假设 DC-B 发生故障(物理或网络)并且无法访问。DC-A 将无法再增加 80% 的利用率,因为它本身已经达到 80%。让组织处于潜在的 DC-A 将无法处理额外需求并导致中断的状态......
这是否意味着两个数据中心(DC-A 和 DC-B)的组织每个数据中心的最大利用率只能达到 50%?即,任何一个 DC 发生故障,另一个 DC 将能够弥补另一个 DC 的不足 (50% + 50%)。
这种想法正确吗?其他人如何处理这个问题或者我错过了什么?
对于需要始终可用的服务,您需要 N+1 冗余,其中 N 是处理负载所需的数据中心或服务器(或您在建议的故障场景中丢失的任何其他东西)的数量。这会变得更便宜 - 在低端有两个数据中心,每个数据中心都需要能够处理整个工作负载。但是如果你有 10 个,他们可以做 9 个的工作,但仍然是多余的。
另一种选择是减载,尽管该短语更常用于电力系统。基本上,在发生故障的情况下关闭所有非必要的服务,以便剩余系统有足够的资源。
一种相当常见的方法是,对于生产环境,硬预留容量足以在发生灾难时剩余的数据中心应该能够处理全部负载,并且所有操作都照常进行。
通常情况下,预算永远不会延伸到足够的程度,明显的商业案例也不可行,无法为非生产环境提供全面的灾难恢复/故障转移。降级或完全不可用在那里可能被认为是可以接受的。
根据平台的不同,有些人可能会选择增加可用生产能力的选项,以通过在发生灾难时缩小非生产环境来满足剩余数据中心增加的负载。