Как стать автором
Обновить

Комментарии 4

для всего этого и обычного delayed_job хватит. почему именно ActiveMQ?
сорри, промахнулся, написал ответ в общей ветке
Если честно, то delayed_job не использовал. Преимущества ActiveMQ над delayed_job, те что я вижу сейчас (поправьте меня если я не прав):

1. Тока что взглянул и увидел что они используют базу. В проекте над которым я сейчас работаю мы стараемся максимально уменьшить работу с базой, там где это возможно, допустим в данной задаче выполнения кода в асинхронном режиме. Зачем порождать лишние запросы к базе?! К тому же запись в очередь быстрее чем в базу.
2. ActiveMQ очень легко масштабируемый. Допустим у вас есть несколько серверов, вы пишите один consumer и запускаете его на нескольких серверах, получается несколько инстансов, которые буду распределять нагрузку между серверами. Но тут есть конечно свой минус, в том что это имеет смысл только если вы не работаете с базой в consumer'е иначе придется таскать весь проект, или еще как-то извращаться. Но этот минус относится и к delayed_job.

Опять же повторяюсь, я с delayed_job не работал, поэтому другие преимущества затрудняюсь назвать. Но с учетом то го, что MQ (не только ActiveMQ) не используют базу для хранения очередей, то думаю, все таки они быстрее чем delayed_job, что уже немаловажно. Выбрал я ActiveMQ именно из-за скорости.
прикольная эта шутка — процессоры, в мире php не знаю им аналога
завидую (по доброму:)
Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации

Изменить настройки темы

Истории