Поток данных весеннего облака исчерпывает место на диске
У нас есть большое количество задач (~30), запущенных SCDF на PCF, однако мы сталкиваемся с проблемами дискового пространства с SCDF, проблема, по-видимому, связана с загрузкой артефактов SCDF при каждом вызове задачи.
- Артефакты в нашем случае загружаются из конечной точки отдыха https://service/{artifact-name-version.jar} (который inturn обслуживает его из хранилища S3)
- Каждый раз, когда вызывается задача, кажется, что SCDF загружает артефакт (в каталог ~tmp/spring-cloud-deployer) проверяет хэш sha1, чтобы убедиться, что он самый последний, прежде чем запускать задачу на PCF
- Загруженные артефакты никогда не очищаются
Не желательно каждый раз загружать артефакты и заполнять место на диске в ~ tmp / экземпляра SCDF на PCF. Есть ли способ сказать SCDF не загружать артефакт, если он уже существует?
Также, может кто-нибудь объяснить механизм загрузки артефакта, сравнивая хэш sha1 и задачи запуска (и различные варианты вокруг него)
Спасибо!
1 ответ
SCDF загружает артефакты по следующим причинам на стороне сервера.
1) Извлечение метаданных (свойств приложения) - если у вас есть явный ресурс метаданных, то загружается только тот, который 2) Соответствующий развертыватель (локальный, CF) в конечном итоге загружает артефакт перед отправкой запроса на развертывание / запроса на запуск.
Значение хеша используется для создания уникального временного файла при загрузке артефакта.
Есть ли способ сказать SCDF не загружать артефакт, если он уже существует?
Артефакты на основе HTTP (или любых явных URL-адресов, кроме maven, docker) всегда загружаются из-за того, что ресурсы в конкретном URL-адресе могут быть заменены каким-либо другим ресурсом, и в этом случае мы не хотим использовать кеш,
Кроме того, недавно мы отказались от использования механизма очистки кэша, поскольку он не использовался эффективно.
Если ваш вариант использования (с этим конкретным ограничением дискового пространства не может обработать кэширование нескольких артефактов) требует эту функцию очистки кэша, пожалуйста, создайте запрос Github здесь
Мы также рассматривали возможность удаления артефакта на основе HTTP после его развертывания / запуска. Похоже, стоит вернуться к этому сейчас.