Kafka Consumer.poll занимает разное время в параллельных потокахJAVA

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

Сообщение Anonymous »

Я запускаю 8 потоков параллельно. Каждому потоку предоставляется список разделов для обработки, и он будет обрабатывать все сообщения между заданной начальной и конечной отметкой времени.
Хотя большинство потоков работают нормально, один или два сильно отстают. Другие завершают работу за 20 минут, а медленные — за 2 часа, хотя объем данных во всех потоках почти одинаковый.
Приведенный ниже код выполняется в одном потоке за 300 миллисекунд, в то время как в других это занимает 10 миллисекунд. Поскольку мы создаем несколько пулов, эта разница быстро накапливается. Кроме того, количество опрашиваемых записей в обоих потоках практически одинаковое.

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

ConsumerRecords records = consumer.poll(60000);
JSONArray jsonArray = new JSONArray();
for (ConsumerRecord record : records) {
jsonArray.put(record.value())
}
Я сомневаюсь, что добавление в JSONArray вызовет эту проблему, поэтому я считаю, что это проблема с опросом. У меня также есть несколько дополнительных выводов:
  • Это происходит каждый раз, когда я запускаю, и может произойти для любого раздела/потока, поэтому я не думаю, что это проблема с определенным разделом или потоком обработки.
  • Если я не работаю параллельно, все они работают нормально.
  • Все разделы, обрабатываемые потоком, работают медленно и продолжают работать медленно, даже когда другие задания завершены. Опять же, если я выйду из потока и запущу его заново без каких-либо дополнительных действий, он будет работать нормально.
Я пытаюсь найти источник этой проблемы, но не могу получить ответы. Может ли кто-нибудь помочь мне в этом?

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

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

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

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

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

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Правильная ли это конфигурация Kafka Consumer Config — при этой настройке Kafka?
    Anonymous » » в форуме JAVA
    0 Ответы
    100 Просмотры
    Последнее сообщение Anonymous
  • Правильная ли это конфигурация Kafka Consumer Config — при этой настройке Kafka?
    Anonymous » » в форуме JAVA
    0 Ответы
    42 Просмотры
    Последнее сообщение Anonymous
  • RejectedElementException при использовании ManagedBlocker во вложенных параллельных потоках
    Anonymous » » в форуме JAVA
    0 Ответы
    8 Просмотры
    Последнее сообщение Anonymous
  • RejectedExecutionException при использовании ManagedBlocker во вложенных параллельных потоках
    Anonymous » » в форуме JAVA
    0 Ответы
    9 Просмотры
    Последнее сообщение Anonymous
  • RejectedExecutionException при использовании ManagedBlocker во вложенных параллельных потоках
    Anonymous » » в форуме JAVA
    0 Ответы
    16 Просмотры
    Последнее сообщение Anonymous

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