Я хотел бы использовать очереди, динамически генерируемые в ActiveMQ, для сериализации обработки событий, генерируемых несколькими источниками.
Мне нужно это, чтобы быть уверенным, что обновления одной и той же записи никогда не конфликтуют.
Проблема в том, что мне нужна отдельная очередь для каждого набора обновлений, относящихся к одной и той же записи.
Теоретически могут быть миллионы записей и, конечно, я не хочу создавать миллионы очередей.
В идеале очередь должна создаваться при необходимости и уничтожаться после завершения всех обновлений.
События, запускающие обновления, являются асинхронными, но все же коррелированы. Я знаю, что когда что-то происходит, несколько событий будут запущены одновременно. Это практически небольшой пакет асинхронных, но коррелированных обновлений. Через некоторое время сгенерированную очередь можно было удалить.
Я понимаю, что создание и удаление очередей требует затрат, но правильно ли я думаю, что стоимость создания и удаления этих очередей со скоростью, которая во время пика не будет превышать нескольких очередей в секунду, не будет не создавать проблемы с производительностью?