1

我使用 Elastic Beanstalk 部署了我的应用程序,因为这为我提供了一个非常简单的部署流程,可以使用“git aws.push”一次部署到多个实例。

我喜欢为我的应用程序添加后台处理支持。后台工作人员将使用相同的代码库,并简单地启动一个长期存在的 php 脚本,该脚本不断寻找要执行的任务。我应该使用什么 AWS 来创建这样的工作实例?

我应该为此使用 EB 还是应该尝试设置标准 EC2 实例(因为我不需要它公开可用)?我想这是正确的做法,然后创建一个部署流程,以便轻松部署到我的 EC2 工作程序实例和 Elastic beanstalk 应用程序?或者有更好的方法吗?

4

2 回答 2

2

AWS EB 现在增加了对工作器实例的支持。它们只是一种不同的环境,这两个区别:

  • 他们没有 cnamePrefix (whatever.elasticbeanstalk.com)
  • 相反,他们有一个 SQS 队列绑定

在每个实例上,他们运行一个名为 sqsd 的守护进程,该守护进程基本上轮询其环境的 sqs 队列并将其转发到本地 http 服务器。

我相信值得一试。

于 2014-02-10T22:54:36.317 回答
0

如果工作人员只是轮询队列中的作业并且不需要 ELB,那么您需要做的就是使用 EC2、SQS,可能还有 S3。您可以将 EC2 实例作为 Auto-scaling 组的一部分启动,例如,该组配置为根据 SQS 队列的深度进行扩展。当没有工作要做时,您可以拥有最少的 EC2 #,但如果队列变深,自动缩放将加速。

于 2013-05-23T19:53:01.457 回答