Что делает брокер, когда несколько производителей пишут брокеру одно и то же сообщение? И еще один связанный вопрос (из-за ограничения в 150 символов)

Производитель A пишет сообщение брокеру A (раздел 1), а производитель B записывает то же сообщение брокеру A (раздел 1). Что происходит с сообщением или брокером?

Я предполагаю, поскольку есть то же сообщение, производитель B останавливает то же сообщение и продолжает следующую часть сообщения?

У меня есть еще один вопрос. Если вы хотите отправить файл фильма, например, в кластер Kafka, могу ли я создать 4 продюсера и заставить их отправлять разные части этого фильма в кластер? Например, продюсер A отправляет первую часть фильма, продюсер B отправляет вторую часть фильма и так далее. (Потому что это, кажется, работает более эффективно, чем один продюсер.)


person Jin Lee    schedule 26.03.2019    source источник


Ответы (1)


  1. Если 2 производителя отправляют одно и то же сообщение в Kafka, сообщение записывается дважды. Кафка не проверяет содержание сообщений. То же самое, если бы вы дважды позвонили send() продюсеру, вы получили бы 2 сообщения в Kafka.

  2. Если вы хотите отправлять большие объемы данных, рекомендуется использовать несколько производителей для разделения работы. Кроме того, Kafka на самом деле не предназначен для обработки сообщений размером> 1 ГБ, поэтому разбиение больших файлов на более мелкие части - хорошая идея. Просто будьте осторожны при разделении данных, потому что вам, возможно, придется повторно собрать их на стороне потребителя!

person Mickael Maison    schedule 26.03.2019