Метка: MemcacheQ

Очереди: Beanstalk vs. MemcacheQ

Очередь

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

Мой набор опций для MemcacheQ

Пока MemcacheQ не постигла грустная судьба MemcacheDB, это по-прежнему самая простая, самая удобная и самая быстрая очередь сообщений (заданий). Незаменимая вещь для асинхронной обработки. В rc.conf помимо memcacheq_enable=YES: memcacheq_flags = " -s /tmp/memcacheq.sock -a 0777 -H /var/db/memcacheq -d -P /var/run/memcacheq.pid -N -R -L 1024 -B 1024 -u nobody "

Обработчик очереди сообщений (вариант от ruhighload.com)

ruhighload.com — хороший ресурс, там много полезного. Недавно появилась статья Асинхронность на MemcacheQ, вызывающая сомнения в части обработки очереди. Глядя на такой код, запускаемый из CLI:

Использование очереди сообщений

message queue

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