У меня есть приложение Oracle Commerce, которое потребляет сообщения в одной очереди JMS. У меня есть десять потребителей с одинаковой очередью назначения. Я хотел бы понять плюсы и минусы этой архитектуры и как ее оптимизировать.Одна очередь JMS с несколькими потребителями
ответ
Я просто хочу сказать, что этот вопрос не имеет особого отношения к Oracle Commerce и об общих принципах реализации очередей.
Если у вас одна очередь и много потребителей, помните, что все они будут пытаться обрабатывать сообщения одновременно. Это может быть нежелательным для некоторых ситуаций, если порядок обработки сообщений важен или есть зависимые сообщения, которые необходимо обработать до обработки текущего сообщения. Даже при этом существуют шаблоны, которые могут возвращать сообщения в очередь для последующей обработки для достижения зависимой обработки сообщений.
Обработка исключений - еще один сложный вопрос, когда у вас много потребителей. Убедитесь, что вся обработка сообщений имеет хорошую обработку исключений и откладывает сообщение обратно в очередь (путем исключения исключений) для последующей обработки. Кроме того, если есть сообщение, которое может застрять обработку, потому что оно будет генерировать каждый раз, когда вы захотите поместить их в другую очередь, после стольких исключений. В свое время мы создали платформу обработки исключений, которая помогала во всех этих сценариях.
Если вы действительно хотите просто передать сообщение многим потребителям по теме, используйте архитектуру pub-sub, и это намного проще в обращении.
Опять же, как и в других комментариях, сценарий того, что вы пытаетесь сделать, поможет обеспечить хорошее направление.
Вот дискуссия, которая может дополнительно помочь с вопросом - http://c2.com/cgi/wiki?MessageQueuingArchitectures
когда потребители разделяют нагрузку он является общим, что они разделяют очередь. , иначе было бы лучше создать отдельную очередь для каждого потребителя.
, если вы хотите транслировать bij, помещая сообщение на tippic, чем есть возможность создать мост для каждого потребителя.
под этим я подразумеваю мост от верхнего уровня до потребительской очереди. Про за использование моста состоит в том, что сообщения te остаются в очереди (als long als сообщение не истекает), когда потребительский процесс не работает на короткий период.
- 1. JMS топология (Очередь с несколькими потребителями) и сообщение группировки
- 2. MQ Очередь с несколькими потребителями, но только одна активная
- 3. Одиночная очередь: параллельная обработка сообщений с несколькими потребителями
- 4. RabbitMQ basic_get с несколькими потребителями
- 5. Одна проблема с несколькими потребителями вызывает потенциальную проблему с потоком?
- 6. Можно ли использовать Очередь с одним производителем и несколькими потребителями
- 7. Удаленная конфигурация WebSphere MQ с несколькими потребителями
- 8. Как реализовать потребителя-производителя с несколькими потребителями и несколькими очередями
- 9. Java: отправка сообщений в очередь JMS с несколькими потоками
- 10. Weblogic JMS Очередь в кластере с несколькими экземплярами приложения
- 11. Взаимосвязь между JMS-соединениями, сеансами и производителями/потребителями
- 12. Потребляющая блокирующая коллекция с несколькими задачами/потребителями
- 13. Использование Amazon SQS с несколькими потребителями
- 14. Как обеспечить идемпотентность сообщений несколькими конкурирующими потребителями?
- 15. Как очистить очередь jms от весенних jms?
- 16. Производитель Потребитель с одним производителем и несколькими потребителями
- 17. RabbitMQ сериализует сообщения из очереди с несколькими потребителями
- 18. Очередь с несколькими столбцами?
- 19. Несколько потребителей одна очередь
- 20. Внутренняя очередь сообщений Java/JMS
- 21. Проверьте, находится ли очередь jms
- 22. Откат JMS-сообщений в очередь
- 23. Возможна ли «справедливая очередь» с помощью JMS
- 24. Как создать временную очередь jms с jboss?
- 25. JMS Очередь блоков с неподтвержденным сообщением
- 26. Как добавить очередь jms с maven?
- 27. Activemq (JMS) с несколькими котами
- 28. Возможно ли связать услугу с несколькими потребителями с iPOJO?
- 29. Rabbitmq одна очередь нескольких потребителей
- 30. является std :: queue thread safe с производителем и несколькими потребителями
Ваш вопрос слишком широк для хорошего ответа. Каков ваш конкретный вариант использования? – radimpe