Какая самая быстрая очередь IPC/сообщений Perl для одной машины?

Я работаю над (главным образом) проектом Perl и хочу использовать очередь сообщений для изоляции процессов друг от друга. У меня такой рабочий процесс:

Вход → Приемник → Процессор → Выход (ы)

Мне нужно обрабатывать несколько сотен транзакций в секунду, поэтому скорость моего самого большого мотиватора. Какова самая быстрая система очереди сообщений для этого типа настройки?

Все мои процессы запускаются на одном компьютере, поэтому я могу использовать сокеты UNIX или временные файлы, если это означает лучшую производительность.

До сих пор моими двумя фаворитами были IPC:: DirQueue и beanstalkd. У кого-нибудь есть опыт работы с обоими и может сделать выводы о том, что быстрее?

Что еще доступно, чтобы сделать супер-быструю рабочую очередь на одной машине?

1 ответ

Я не знаю о IPC:: Dirqueue или beanstalkd, но у меня был хороший успех с spreadSpread или Spread::Message модули), Легко выполнять мультипроцесс (с другим запущенным демоном), а также с несколькими машинами. Самое приятное в том, что, поскольку он основан на группе, вы можете легко присоединить другого слушателя, если хотите делать такие вещи, как ведение журнала, статистика или отладка без необходимости изменять (или замедлять) ваши процессоры.

licensed under cc by-sa 3.0 with attribution.