【发布时间】:2020-06-09 03:53:16
【问题描述】:
假设 facebook 作为单个二进制文件运行。在 N 个服务器中发布此服务的 N 个副本,可以平均分配工作量。现在,如果我将 facebook 代码库分成两半,它究竟如何更具可扩展性? (在这个article的y轴刻度上)。
如果我为前半部分分配 1 个服务器,为后半部分分配 2 个服务器,它肯定会比一个单片服务器更快,因为现在我们有 3 个。这与 x-axis 缩放完全一样。只是现在您的负载平衡不均匀。
但考虑到服务器是其原始大小的 25%。从一开始,这些服务器就拥有更高百分比的已用 RAM。之所以如此,是因为将代码分成两半并不意味着将 RAM 占用空间减半。每个服务器都会在重复的库代码等上浪费更多的内存。
我想知道从性能/计算资源的角度来看,使用微服务是否有任何好处。
【问题讨论】: