是否有像CAP这样的定理用于Web开发?

时间:2019-05-16 20:54:36

标签: performance web-services testing

在Web开发场景中构建内容时,通常会想到成本/资源,并且经常在三种资源之间进行折衷:

  • CPU(一般处理)
  • 内存(一般为存储)
  • 网络/带宽(甚至可能是外部/服务器资源)

这里的定理很简单,您只能选择其中两个为低。

如果您想要低CPU和内存,则必须要求服务器来完成工作(高带宽使用率)

如果要降低内存和带宽,CPU将不得不做额外的工作来随时随地创建和重新创建事物。

如果您想要较低的CPU和带宽,则内存将必须存储更多信息以及可能重复的数据。

我的问题在这里,这个定理有名字吗?还是这3种资源的管理?我想了解更多有关在每种情况下选择最佳选项的理论以及与此相关的研究。

说实话,我不知道这是否是解决此问题的合适社区,这主要是一个理论/学术问题。

1 个答案:

答案 0 :(得分:0)

这种方式不起作用。在大多数情况下,只需添加更多资源,对于所有这三种资源,您都可以实现较低的使用率。如果您的CPU使用率很高,则将您的应用程序部署到具有两倍以上CPU的服务器上。因此,如果您有钱,可以达到较低的使用率。在CAP中,有多少钱都没关系。

也来自维基百科:

CAP常常被误解,好像必须始终选择放弃三项保证之一。实际上,只有在发生网络分区或故障时才在一致性和可用性之间进行选择。在其他所有时间,都无需进行权衡