我正在研究一个名为 Apache Mesos 的框架。我对这个框架完全陌生。
根据这个网站,它可以将您的数据中心服务器和云实例组合到一个共享池中,任何应用程序或框架都可以从中提取,如图所示。
我已经阅读了一些关于这个框架的文章和教程。但是我仍然不太清楚这个框架是如何工作的。
假设我有 3 台物理服务器机器,每台机器有 4 个内核和 8GB RAM。我可以部署单个 LAMP Web 应用程序并让它使用所有服务器的组合硬件资源(12 核和 24GB RAM)吗?
通过参考本教程,Mesos 似乎只能在其中一台服务器上运行 Web 应用程序。那么,使用 Mesos 有什么好处呢?
没有。作为一个真实的几乎所有情况的概括<*>,一个给定的进程只能在单个硬件上运行。因此,如果您的 LAMP 应用程序不是为了扩展到多个节点而构建的,那么像 Mesos 之类的东西只会购买某种级别的故障转移/HA。它不会以某种方式将两台机器中的内存/CPU捆绑在一起。
如果您的应用程序是为横向扩展而构建的,或者您拥有大量应用程序,那么这样的框架将能够在所有可用硬件上平衡不同的进程,从而确保更完整地利用可用资源。这就是“云”产品的提供商端通常的样子。
<*> 有一些昂贵的系统可以跨多个离散服务器提供 SSI(单一系统映像)。这些对于为此类平台明确构建的软件包通常很有用。他们需要考虑这样一个事实,即在机器 1 的 CPU 上运行的进程可能正在访问机器 2 中的 RAM,这会更慢,应该避免。如果您只是将一大堆披萨盒组合在一起并尝试运行 MONSTER APACHE 实例或 Microsoft Exchange,它的性能将不会像 Voltron。没有魔剑,没有狮子。