Передать байты изображения в Kafka технически можно, но обычно лучше хранить файл в объектном хранилище, а в событии передавать ключ, метаданные и идентификатор операции.
Как организовать обработку пользовательских фотографий через очередь Kafka: можно ли передавать в Kafka сами изображения и какие у такого решения плюсы и минусы?
Передать байты изображения в Kafka технически можно, но обычно лучше хранить файл в объектном хранилище, а в событии передавать ключ, метаданные и идентификатор операции.
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
Передать байты изображения в Kafka технически можно, но обычно лучше хранить файл в объектном хранилище, а в событии передавать ключ, метаданные и идентификатор операции.
Большие сообщения увеличивают сетевые затраты, репликацию, место хранения и давление на producers/consumers; также требуют согласования лимитов. Ссылка или объектный ключ делает очередь легче, но нужно обеспечить доступность файла до публикации события и достаточный срок хранения. Worker скачивает объект, обрабатывает его идемпотентно и сохраняет результат. Ошибки, повторные доставки и удаление исходника продумывают отдельно. Для небольших бинарных сообщений прямая передача может быть приемлема после измерений.