Очередь Beanstalkd с эластичным beanstalk AWS

Я не хочу развертывать свое веб-приложение, которое работает внутри контейнеров докеров, в эластичный beanstalk.

При развертывании вашего приложения в эластичном beanstalk у вас есть два варианта среды, которые вы можете выбрать:

  1. Среда веб-сервера
  2. Рабочая среда

Логически мое веб-приложение использует первый тип среды, но мне также нужно использовать очередь заданий, которая используется для длительных процессов, которые, вероятно, будут выполняться в среде второго типа. Однако я не хочу использовать amazon SQS из-за блокировки поставщика, которую я бы имел, когда захочу переключиться на другой хост. Вместо этого я хочу запустить beanstalkd, но не могу придумать хорошего решения, как установить это вверх.

Мне нравится этот ответ Рохита Банги. Это заставит меня использовать SQS, верно?

Я считаю важным иметь репозиторий для моего кода. Рабочие будут использовать тот же код, что и веб-приложение. Какое репо, я думаю, будет легче поддерживать.

Думаю, я настрою экземпляр EC2, на котором будет работать сервер Beanstalkd.


person Boedy    schedule 18.06.2015    source источник


Ответы (1)


Если вы собираетесь запускать собственную очередь и вам не требуется (или не нужен) SQS, просто используйте веб-сервер.

Веб-сервер и рабочий — это, по сути, одно и то же. Разница в том, что рабочий уровень не имеет балансировщика нагрузки. Рабочий уровень также выполняет всю работу по настройке очереди SQS с демоном, который направляет данные очереди вашему «веб-слушателю».

Поскольку вы не используете sqs, вы можете использовать веб-сервер. Просто знайте, что вам нужно будет убедиться, что ваша очередь работает правильно, когда ваша среда масштабируется. (Вы не хотите дважды читать один и тот же элемент из очереди).

person Nick Humrich    schedule 18.06.2015