Я пишу часть проекта, ответственного за обработку задач вне основного приложения, стоящего перед сервером данных, который написан в javascript, используя Node.js. Он должен обрабатывать задачи, которые запланированы в будущем, и потенциально обрабатывать задачи, которые "прямо сейчас". "Прямо сейчас" означает, что в следующий раз, когда рабочий станет доступным, он будет работать над этой задачей, так что бит может не иметь значения. Работники собираются поговорить с внешними ресурсами, примером будет послание электронной почты. Мы небольшой магазин, и у нас нет много ресурсов, поэтому одна вещь, которую я не хочу делать, это начать смешивать языки на этом этапе процесса, и я уже вижу, что Node может сделать это для нас довольно легко, так что с чем мы собираемся идти, если я не вижу веской причины не раньше, чем начать кодирование, что скоро.
Все, что сказал, я не могу сказать, есть ли веские причины использовать сервер на основе AMQP, например OpenAMQ или RabbitMQ над чем-то вроде Kue или Beanstalkd с клиентом Node. Итак, здесь мы идем:
Есть ли веская причина использовать сервер на основе AMQP над чем-то вроде beanstalkd или redis с Kue? Если да, какой сервер на основе AMPQ лучше всего подходит для архитектуры, которую я изложил? Если нет, какое решение nosql (beanstalkd, redis/Kue) было бы проще всего установить и быстрее всего развернуть?