Должен ли я переместить эту задачу в очередь сообщений? - PullRequest
1 голос
/ 13 мая 2010

Я большой поклонник использования систем очереди сообщений (таких как Apache ActiveMQ) для задач, которые выполняются довольно медленно и не требуют мгновенной обратной связи в пользовательском интерфейсе.

Вопрос: стоит ли использовать его для других задач (которые довольно быстрые ) и не требуют мгновенной обратной связи в пользовательском интерфейсе?

Или это включает в себя другой уровень сложности, не так много преимуществ?

Ответы [ 4 ]

2 голосов
/ 13 мая 2010

Ну, если подумать, Win32 более или менее построен вокруг очередей сообщений. Тем не менее, только потому, что у вас есть молоток, не делает каждую проблему гвоздем. Честно говоря, это зависит. Например, очереди плохо работают с несколькими получателями.

1 голос
/ 13 мая 2010

Если вы уже используете систему MQ в своем приложении, я бы рассмотрел возможность перемещения туда большинства несинхронных задач. Любое задание «забей и забудь» или «событие» - хороший кандидат. Но тогда не переусердствуйте, и я, конечно, не рассмотрю возможность добавления зависимости, если у вас нет другого применения для MQ в приложении.

1 голос
/ 13 мая 2010

Нужно ли обрабатывать запросы в фоновом режиме, независимо от других компонентов в вашем приложении? Если ответ «да», я думаю, что это оправдывает какую-то очередь.

Если вы обрабатываете их в своем приложении, это просто означает, что ваше приложение должно работать для их обработки. Если вы хотите, чтобы они запускались сами по себе, вам нужно что-то еще для их обработки. Я не думаю, что добавление очереди является достаточной дополнительной работой, чтобы оправдать ее, если ваша обработка сообщений должна всегда выполняться.

0 голосов
/ 13 мая 2010

Правильный инструмент для работы. Является ли очередь сообщений подходящим инструментом для вашей работы?

...