Потребитель кафки последовательный или параллельный? - PullRequest
0 голосов
/ 12 февраля 2019

В моем приложении несколько предприятий.при каждом входе в систему предприятия выполняйте некоторые действия, такие как загрузка данных, затем производитель Kafka берет данные и отправляет их в тему.Другая сторона потребителя Kafka потребляет данные из темы и выполняет бизнес-логику.и сохраняется в базе данных.В этом случае все идеально, когда один корпоративный логин.но когда несколько корпоративных логинов, то кафка потребляет последовательно.то есть, как я могу сделать процесс параллельным?на несколько запросов клиентов.заранее спасибо.

Ответы [ 2 ]

0 голосов
/ 13 февраля 2019

Как уже упоминалось в предыдущих ответах, вы можете использовать несколько разделов.Другой вариант заключается в том, что вы получаете преимущество потоков (Threadpoolexecutor), поэтому выполните следующее: получение сообщения -> создание параллельного потока для выполнения требуемой логики -> подтверждение сообщения.Пожалуйста, убедитесь, что у вас есть регулирование (с помощью исполнителей пула потоков) производительности приложения.

0 голосов
/ 13 февраля 2019

Если в этой теме только один раздел, он последовательный на стороне потребителя.Несколько производителей для одного раздела не имеет никаких гарантий при заказе.

Потребители и производители будут группировать сообщения и обрабатывать их порциями.

Другая сторона потребителя Kafka получает данные из темы и выполняет бизнес-логику.и сохраняется в базе данных.

Я предлагаю не использовать постоянного потребителя для этого.Пожалуйста, изучите Kafka Connect и посмотрите, поддерживается ли ваша база данных

...