"а как бы нам файло через кафку пересылать и чтобы там такого оттьюнить, чтобы работало хорошо?"
Короткий ответ - лучше не надо. Но если все таки очень хочется, то читаем дальше.
Для начала, самое более простое решение которое приходит в голову - это класть файлы в распределенное файловое хранилище (S3, NFS и прочее). этот поход зовётся claim-check pattern. Azure Event Hub - это сильно урезанная Кафка и "подтьюнить" там мало чего у вас получится.
Затем смотрим слайды Becket Qin из Линкеина
Он разбирает практически все возможные ситуации передачи файлов через Кафку. В самом начале он говорит почемуClaim-Check (он это называет reference-based messaging)для них не заработал и как они использовали chunking and reassembling. Для этого они даже пропатчили стандартную клиентскую библиотеку.
А как вы решаете подобную задачу?
Приходите и расскажите у нас в чате
Благодарю 👍🏻
Ну как вариант еще - слайсить сообщения, у Linkedin есть библа для слайсинга, но мессаджи по 100 метров гонять, такое себе Лучше метаданные, а хранить в s3 и т.д
https://github.com/linkedin/li-apache-kafka-clients
C S3 есть одна проблемка - она неконсистентна. Как только вы в реалтайме начнёте писать файлы, уведомлять о них через топик и тут же их читать у вас всё рухнет в проде. Поэтому проблема реально имеет место быть и не имеет адекватного решения, насколько я знаю.
Обсуждают сегодня