Последовательная обработка идентичных полезных данных запроса и параллельная обработка неидентичных полезных данных.JAVA

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

Сообщение Anonymous »

У меня есть потребитель Kafka, написанный в приложении Springboot, который получает полезную нагрузку из темы Kafka под названием matchupdates, обрабатывает ее и сохраняет в базе данных. Поскольку я получаю огромные обновления для совпадения, соответствующую полезную нагрузку можно идентифицировать с помощью matchId.

рассмотрите следующие полезные данные, которые использует служба Springboot, где M1 ,M2 — это не что иное, как matchId, а соответствующие обновления обозначают поля.
M1 -> (update1) {matchid,name,....
M1 -> (update2) {matchid,name,....
M1 -> (update3) {matchid,name,....
M2 -> (update1) {matchid,name,....
M2 -> (update2) {matchid,name,....
Здесь мое требование:** идентичные полезные данные должны использоваться только последовательно** (т. е. update1, update2, update3 для matchId M1 должны обрабатываться последовательно (т. е. обработка и обновления в базе данных и** если какая-либо операция выполняется дольше, остальные обновления должны ждать в очереди**), тогда как обновление1 M1 и обновление2 M2 могут обрабатываться параллельно.
Могу ли я добиться этого, используя исполнители служб или любой другой способ в Java, с помощью которого я могу обрабатывать идентичные полезные данные только последовательно, и, если необходимо, их нужно ждать в очереди, пока не перестанут обрабатываться предстоящие обновления.
Я пробовал использовать исполнитель пула потоков с очередью, но каждый раз он назначается другому потоку, доступному в пуле, что приводит к параллельному выполнению полезных нагрузок с одинаковым MatchId.

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

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

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

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

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

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

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