Комментарии 4
для всего этого и обычного delayed_job хватит. почему именно ActiveMQ?
0
Если честно, то delayed_job не использовал. Преимущества ActiveMQ над delayed_job, те что я вижу сейчас (поправьте меня если я не прав):
1. Тока что взглянул и увидел что они используют базу. В проекте над которым я сейчас работаю мы стараемся максимально уменьшить работу с базой, там где это возможно, допустим в данной задаче выполнения кода в асинхронном режиме. Зачем порождать лишние запросы к базе?! К тому же запись в очередь быстрее чем в базу.
2. ActiveMQ очень легко масштабируемый. Допустим у вас есть несколько серверов, вы пишите один consumer и запускаете его на нескольких серверах, получается несколько инстансов, которые буду распределять нагрузку между серверами. Но тут есть конечно свой минус, в том что это имеет смысл только если вы не работаете с базой в consumer'е иначе придется таскать весь проект, или еще как-то извращаться. Но этот минус относится и к delayed_job.
Опять же повторяюсь, я с delayed_job не работал, поэтому другие преимущества затрудняюсь назвать. Но с учетом то го, что MQ (не только ActiveMQ) не используют базу для хранения очередей, то думаю, все таки они быстрее чем delayed_job, что уже немаловажно. Выбрал я ActiveMQ именно из-за скорости.
1. Тока что взглянул и увидел что они используют базу. В проекте над которым я сейчас работаю мы стараемся максимально уменьшить работу с базой, там где это возможно, допустим в данной задаче выполнения кода в асинхронном режиме. Зачем порождать лишние запросы к базе?! К тому же запись в очередь быстрее чем в базу.
2. ActiveMQ очень легко масштабируемый. Допустим у вас есть несколько серверов, вы пишите один consumer и запускаете его на нескольких серверах, получается несколько инстансов, которые буду распределять нагрузку между серверами. Но тут есть конечно свой минус, в том что это имеет смысл только если вы не работаете с базой в consumer'е иначе придется таскать весь проект, или еще как-то извращаться. Но этот минус относится и к delayed_job.
Опять же повторяюсь, я с delayed_job не работал, поэтому другие преимущества затрудняюсь назвать. Но с учетом то го, что MQ (не только ActiveMQ) не используют базу для хранения очередей, то думаю, все таки они быстрее чем delayed_job, что уже немаловажно. Выбрал я ActiveMQ именно из-за скорости.
0
прикольная эта шутка — процессоры, в мире php не знаю им аналога
завидую (по доброму:)
завидую (по доброму:)
0
Зарегистрируйтесь на Хабре, чтобы оставить комментарий
Публикации
Изменить настройки темы
Повышаем производительность Ruby on rails приложений с помощью ActiveMQ