不用拐弯抹角,我直接去问:)
我正在实现一个系统,其中有多个vm、war文件和以下配置:-有一个主vm,它运行apache和tomcat,并配置了mod \u jk以实现负载平衡
这个主vm还运行apachemesos来监视资源和运行任务。此任务配置为将war文件和mysql数据库转储复制到mesos从机。
这个想法是根据可用的资源在需要的时候进行放大/缩小。例如,当一个新的httprequest进来,并且没有空闲的机器时,请求mesos主机获取资源,并打开一个新的vm。假设这个虚拟机已经配置了tomcat、mysql等必要的工具;而mesos任务需要正确复制war文件和数据库转储。
我的问题是,当apache收到一个新的httprequest时,在apache将这个请求转发给tomcat服务之前,我们如何执行一些任务(向mesos请求资源,让vm启动并运行)?
作为参考,我运行的是ubuntu 12.04。
我在httpd.conf中搜索了一些配置,但找不到有助于此场景的配置。
任何帮助都将不胜感激!提前谢谢!
2条答案
按热度按时间nafvub8i1#
nikhil,您可以使用marathon来启动tomcats并进行负载平衡(通过haproxy)。marathon是一个mesos框架,用于web/app服务器等长时间运行的服务。虽然它不会根据负载自动伸缩,但它有一个简单的api用于上下伸缩。
xwbd5t1u2#
在您告诉httpd tomcat示例存在之前,httpd不会将任何请求转发到新的tomcat示例。一旦任何监控检测到需要一个新的tomcat示例,就创建它,等待它启动,然后修改httpd配置。