Как избежать одновременной обработки сообщений с тем же контентомJAVA

Программисты JAVA общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 Как избежать одновременной обработки сообщений с тем же контентом

Сообщение Anonymous »

Я использую Java, Spring Boot, Rabbitmq. У меня есть тысячи сообщений с телом, как: < /p>

Код: Выделить всё

{"carId":123,"actionId":126}
У меня есть одна очередь с именем cars и один прослушиватель темы, который обрабатывает эти сообщения. У меня также есть среда с несколькими узлами, поэтому многие узлы имеют одних и тех же прослушивателей, и все они обрабатывают эти сообщения. Проблема, которую я хотел бы решить, заключается в том, чтобы избежать одновременной обработки одного и того же автомобиля с одним и тем же действием одним или несколькими узлами (логика обработчика одинакова для одного и того же carId и actionId).
В конце концов, когда для обработки действительны только события 1, 3, 4, остальные не должны обрабатываться или обрабатываются в порядке очереди (не по теме), чтобы избежать одновременной обработки одного и того же действия и одного и того же автомобиля. .
Мероприятия:

[*]

Код: Выделить всё

{"carId":123,"actionId":126}
[*]

Код: Выделить всё

{"carId":123,"actionId":126}
(то же, что и 1.)
[*]

Код: Выделить всё

{"carId":123,"actionId":516}
[*]

Код: Выделить всё

{"carId":56,"actionId":126}

Код: Выделить всё

{"carId":56,"actionId":126}
(то же самое, что и 4.) Когда у меня будет 1000 событий, обработка автомобилей по-одному будет слишком сильно замедлить всю бизнес-логику (у меня всего три узла), что неприемлемо. < /p>
Я также был Подумав, есть ли у кролика некоторый механизм для групповых сообщений по хэшам и устранить дубликаты сообщения, но сообщения используются очень быстро в многозвешенной среде, и я сомневаюсь, что у кролика будет какая-то возможность сделать. Обработка сообщения может занять около 1-10 секунд, поэтому они одновременно обрабатываются в течение некоторого времени, но сразу же потребляются из моей очереди.
с точки зрения очереди против темы Стратегия, еще одно приемлемое решение, которое приходит мне в голову, было бы, чтобы автомобили topic для уникальных автомобилей и, если сообщение одинаково, обработка должна переключиться на стратегию в очереди и потреблять дублированные Сообщения один на один не одновременно.
это возможно? Не могли бы вы дать несколько примеров / ссылок на документацию? < / P>

Подробнее здесь: https://stackoverflow.com/questions/793 ... me-content
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «JAVA»