Совместное использование ресурсов
Мой первый пример моментальной сборки - это Java-сервер, который я разработал. Мне удалось создать снимок, который содержит JRE, мой сервер и запуск службы. Все отлично работает.
Файл снимка имеет размер 106 МБ, что в основном составляет Java. Мне было интересно, если есть способ поделиться установкой Java между серверами? Так что мои файлы моментальных снимков становятся очень маленькими, содержат только определенный код для моей установки?
В моей голове это будет выглядеть примерно так:
Снимок 1: Снимок, который содержит среду выполнения Java и выставляет Java для использования другими. Я считаю, что для этого используются слоты, но я не уверен на 100% в этом. Snap 2: Сервер A, который содержит только мои файлы jar и использует среду выполнения java Snap 1. Snap 3: Как Snap 2, но с другими файлами jar. Я бы хотел, чтобы Snap 2 и 3 зависели от Snap 1, так что если кто-то установит Snap 2, он автоматически установит Snap 1. Если Snap 1 установлен, он пропустит это и просто использует его?
Я согласен Вы не уверены, поддерживается ли это или это так?
Да, скоро будет механизм для Вас, чтобы совместно использовать файлы в одном из Ваших снимков с другими снимками, которые Вы сделали. Высматривайте "интерфейс содержания" за следующие несколько недель.
также будут обновления дельты для снимков, которые уменьшат загрузку / загрузка для данного снимка, но это - отдельный вопрос.
Из ответа @didrocks:
Этот mecanism не доступен с сегодняшнего дня (мы можем представить один в будущем с 3 разделенными снимками, как Вы выводите, но это не доступно теперь). Другая опция, которую можно искать, если, если снимок 2 и 3 сильно связывается, у Вас может быть один снимок, содержащий jvm и Ваши 2 сервиса. Затем некоторая конфигурация для выбора, что запустить (сервис 1, сервис 2 или два из них).
Обновление:
я просто видел: поспешные пакеты получат дифференциал (дельта) обновления? , который по существу решает проблему, я думаю. Мое беспокойство было то, что я должен буду повторно упаковать JRE каждый раз, когда я публикую новую версию своего программного обеспечения. С обновлением дельты (который я все же должен разработать, как сделать) исчезает эта проблема. Я рад за 1 пакет иметь его собственный JRE, пока он снова использует его.
Редактирование снова: На данный момент (20 июня 2016) обновления дельты еще не выпускают, но проводят эксперименты на и вероятно скоро произойдут. Источник: #snappy на freenode