我不想将我在Docker容器内运行的网络应用部署到弹性beanstalk。
将应用程序部署到弹性beanstalk时,您可以选择两种环境选项:
逻辑上我的webapp使用第一种环境类型,但我还需要使用一个用于长时间运行进程的作业队列,这可能在第二种类型的环境中运行。我不想使用亚马逊SQS,但是因为当我想切换到不同的主机时我会拥有供应商锁定。我希望改为运行beanstalkd,但我无法想出如何设置它的好方法。
我喜欢Rohit Banga给出的this回答。这会迫使我使用SQS吗?
我发现在我的代码存储库中很重要。工作人员将使用与Web应用程序相同的代码。我觉得哪一个回购会更容易维护。
我想我将设置和运行Beanstalkd服务器的EC2实例。
答案 0 :(得分:3)
如果您要运行自己的队列而不需要(或想要)SQS,那么只需使用网络服务器。
Web Server和Worker基本上是一回事。不同之处在于工作层没有负载均衡器。 Worker层还完成了使用deamon设置SQS队列的所有工作,该队列将队列数据定向到您的" Web侦听器"。
由于您没有使用sqs,因此可以使用Web服务器。只要知道在扩展环境时必须确保队列正常工作。 (你不想两次从队列中读取相同的项目。)