Я ищу способ агрегирования сообщений JMS, отправленных с нескольких серверов приложений, с балансировкой нагрузки через JMS.В основном проблема заключается в следующем:
В конце нашей регистрационной формы существует контейнер в сеансе http, и контейнер имеет два объекта одного типа.Каждый объект должен быть обработан, затем контейнер должен быть доставлен.Обработка объекта требует значительных ресурсов, поэтому обработка запрашивается (InOnly, асинхронный) и помещается в очередь в OpenMQ.Сообщение JMS используется одним из двух конкурирующих потребителей, которые в основном являются дублированными серверами приложений, которые также обслуживают веб-запросы.
В настоящее время у меня просто есть жестко заданная задержка при доставке контейнера, но сИз-за увеличения трафика возникает множество сбоев доставки, поскольку объекты еще не закончили обработку.Я использую Apache Camel 2.6 и Spring Remoting, и Camel Aggregator будет идеальным вариантом, за исключением того, что каждый сервер приложений должен иметь дублированный верблюжий контекст, поэтому они будут конкурировать за агрегатные компоненты.
Возможно, временная очередь и конечная точка для каждой агрегации, но я не уверен, как это сделать, особенно разборка.Как лучше всего обработать оба объекта, а затем доставить контейнер?