我要为100,000个用户扩展一个应用程序。应用程序托管在NodeJS中。我已经为我的应用程序以及AWS、ALB等创建了停靠映像。我的应用程序很小,我主要关心的是要访问应用程序的用户数量。对于容器,应用程序只占用600 of的内存(最大)。因此,我使用了8t2.size(2GBRAM机器)实例,并在每个实例中托管了3个容器(即8X3=24个容器(每个容器中有3个)。有了这个体系结构,我可以为多达5000名用户进行缩放。我可以为多达10万个用户进行水平缩放,但我担心的是,如果我选择的是m4大小,而不是我选择的t2小型机器,该怎么办?
因为我们不使用8 t2.小型机器(8 X2GB=16 8GB ),我们也可以使用2 m4.大型(2 X8GB=16 8GB)机器。也可以容纳24个容器。
我选择t2的原因是vCPU值。小的和m4的都有2vCPU。因此,如果我们使用2m4.大型机器,这24个容器将有4vCPU。但是,如果我们使用8t2.小实例,我们将得到这24个容器的16 with。
但是,我还需要考虑其他因素吗?如有任何建议,将不胜感激。
发布于 2019-06-10 07:39:23
M类型实例是内存优化的,如果内存不是必需的,则m实例可能不是正确的选择。这在很大程度上取决于您的应用程序和负载下的资源需求。
一个因素是成本和动态缩放,这取决于情况。如果您需要高可用性,至少需要两个实例。考虑到2 x m4的场景,这将意味着您在任何时候都有100%加载运行所需的资源。通常,应用程序的峰值时间和时间只需要一小部分资源。使用8倍的t2将意味着您可以在保持高可用性的同时将资源缩减到所需资源的25%。所有这些考虑都会对成本产生影响。
建议:
https://serverfault.com/questions/970774
复制相似问题