多层和/或分布式应用程序,它们具有相同的含义吗?

当我们谈论这些应用程序中的层时,是物理层(数据库、浏览器、Web 服务器……)还是逻辑层(数据访问层、业务层……)?

有帮助吗?

解决方案

也许这两个句子确实传达了 分散式多层:

  • 分散式: :您在节点之间复制处理
  • 多层: :您将处理分配给等级

在一种情况下,相同的处理在几个节点上复制。在另一种情况下,每个层都有明显的责任,并且在每个层上运行的处理都不同。

这两个概念都不是独有的:您可以拥有非分布的多层应用程序(如果没有冗余/复制形式),不是多层的分布式应用程序,而是分布式的多层应用程序(如果它们具有某种形式的冗余)。

关于这种区别,还有很多话要说,但是(对我来说)的区别基本上是在那里。

其他提示

Ewernli 这里有最正确的答案。原始问题中唯一缺少的作品涉及物理和逻辑层。

从分布式和/或多层的角度来看,无论层在物理上是分离还是逻辑上是无关的。意思是,没关系。您可以创建完全驻留在同一机器实例上的多层甚至分布式应用程序。

也就是说,将这些层分为专门为该类型的负载而构建的不同机器更常见。例如,Web服务器和数据库服务器。甚至是Web服务器,几台Web服务机器以及一个或多个数据库服务器。

所有这些功能,分布式,多层和/或使用逻辑和/或物理层平衡的负载只是应用程序设计的功能。

此外,在当今的虚拟机世界中,在单个真实机器的范围内建立多层,分布式和负载平衡的应用程序是完全有可能(甚至可能)设置的。虽然,我永远不会推荐这种行动,因为负载平衡和分布式服务的点通常是为了增加可用性或吞吐量。

多层意味着您的应用程序将基于具有不同任务(数据库、Web 应用程序...)的多台计算机。分布式意味着您的应用程序将同时在多台计算机上运行,​​例如您的网站可以托管在 3 个不同的服务器上。

对于多层应用程序,我们通常谈论物理层。但在每个应用程序中,您可以/应该有不同的逻辑层。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top