2

不用拐弯抹角,我会直接去我的查询:)

我正在实现一个系统,其中有多个虚拟机、WAR 文件和以下配置: - 有一个主虚拟机运行 Apache 和配置了 mod_jk 的 Tomcat 以实现负载平衡

  • 这个 Master VM 还运行 Apache Mesos 来监控资源和运行任务。此任务配置为将 WAR 文件和 MySQL 数据库转储复制到 Mesos 从站。

这个想法是根据可用资源在需要时按比例放大/缩小。例如,当一个新的 HTTPRequest 进来,并且没有空闲机器时,Mesos Master 被请求资源并且一个新的 VM 被打开。假设这个 VM 已经配置了 Tomcat、MySQL 和其他必需品;和 Mesos 任务正确复制所需的 WAR 文件和数据库转储。

我的问题是,当 Apache 接收到新的 HTTPRequest 并且在 Apache 将此请求转发给 Tomcat 进行服务之前,我们如何执行一些任务(向 Mesos 请求资源,启动并运行 VM)?

有关信息,我正在运行 Ubuntu 12.04。

我在 httpd.conf 中搜索了一些配置,但找不到对这种情况有帮助的配置。

任何帮助将非常感激!提前致谢!

4

2 回答 2

1

Nikhil,您可以使用Marathon启动您的 Tomcat 并进行负载平衡(通过 HAProxy)。Marathon 是一个 Mesos 框架,用于长时间运行的服务,如 web/app 服务器。虽然它不会根据负载自动扩展,但它有一个简单的 API 用于扩展和缩减。

于 2013-11-04T21:49:42.980 回答
0

在您告诉 httpd Tomcat 实例存在之前,httpd 不会将任何请求转发到您的新 Tomcat 实例。一旦任何监控检测到需要一个新的 Tomcat 实例,就创建它,等待它启动,然后他们修改 httpd 配置。

于 2013-10-21T10:03:16.253 回答