如何在Apache Server将请求转发给Tomcat之前执行任务?

时间:2013-10-20 10:22:27

标签: apache tomcat mesos

如果没有围绕灌木丛,我会直接进入我的查询:)

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

  • 此主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中搜索了一些配置,但找不到哪种方法有帮助。

任何帮助都会非常感激!提前谢谢!

2 个答案:

答案 0 :(得分:1)

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

答案 1 :(得分:0)

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