через каналы в nio. Там есть offset в количестве байт, с которого можно читать. Не знаю как лучше сохранить позицию где остановился. Если просто число байт хранить, то оно может супербольшим стать. Есть идеи?
настолько супербольшим, что в лонг не вместится?
Не знаю. Показалось, что просто число хранить не лучшая идея
надо знать формат файла и как он будет обновляться. Если только дописываться то можно хранить офсет. Если будет меняться - тебе по любому надо будет перечитывать его целиком
идея: объяснить людям с файлом партицирование и создание отдельных файлов с добавлениями
Дописываться будет
ну это не всегда возможно. Не в смысле объяснить, а в смысле создавать отдельные файлы.
главное хранить на рабочем месте нож и чтоб все об этом знали
Не уверен, что получится. Файл это выхлоп с квика
не очень понял к чему это. Предлагать партицирование и создание отдельных файлов с добавлениями - это в целом плохая идея, не зная контекста задачи.
там выше предположили, что у файла будет переполнение по офсету не партицировать такой файл - проблема архитектуры
зы: нож добавляет +100500 к разумности и убедительности при обсуждении архитектуры проекта
нет. Во первых не будет, во вторых это в общем случае невозможно и не нужно, и очень часто не от тебя зависит. Представь что ты убийцу эластика пишешь и тебе надо логи собирать и читать вновь добавленное.
гигабайтные логи - это проблема архитектуры (логирования) что за любовь и вера в бигдату такая? почти всё можно партицировать
Какая разница сколько они весят? В любом случае надо читать их в риалтайме, и читать только дописанное. Это автоматом приводит к задаче "дочитывать файл". Ну не пишут обычно логи так - каждый эвент в отдельный файл с добавлениями. И да, это может быть что угодно, но если этот файл пишешь не ты - то обычно ты не можешь решать что и как надо партиционировать. Приходится читать что есть
Обсуждают сегодня