
Обмен ресурсами
Мой первый пример сборки snap — это разработанный мной сервер java. Мне удалось создать snap, содержащий jre, мой сервер и запуск службы. Все работает отлично.
Snap-файл в результате весит 106 МБ, в основном это java. Мне было интересно, есть ли способ поделиться установкой java между серверами? Так что мои snap-файлы станут очень маленькими, содержащими только определенный код для моей установки?
В моей голове это выглядело бы примерно так:
Snap 1: Snap, который содержит среду выполнения 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 установлен, он пропустит его и просто будет использовать?
Я не уверен, поддерживается ли это и вообще должно ли это работать таким образом?
решение1
Да, скоро появится механизм, позволяющий вам делиться файлами в одном из ваших снимков с другими сделанными вами снимками. Ждите «интерфейс контента» в ближайшие несколько недель.
Также будут дельта-обновления для снимков, которые сократят время загрузки/выгрузки для конкретного снимка, но это уже другой вопрос.
решение2
Из ответа @didrocks:
Этот механизм недоступен на сегодняшний день (мы можем ввести его в будущем, с 3 отдельными snap, как вы предполагаете, но сейчас он недоступен). Другой вариант, который вы можете искать, если snap 2 и 3 тесно связаны, вы можете иметь один snap, содержащий jvm, и ваши 2 сервиса. Затем, некоторая конфигурация, чтобы выбрать, что запустить (сервис 1, сервис 2 или оба из них).
Обновлять:
Я просто увидел:Будут ли пакеты snap получать дифференциальные (дельта) обновления?что, по сути, решает проблему, как мне кажется. Я беспокоился, что мне придется переупаковывать JRE каждый раз, когда я публикую новую версию своего ПО. С дельта-обновлением (которое мне еще предстоит выяснить, как сделать) эта проблема исчезает. Я счастлив, что 1 пакет имеет свою собственную JRE, пока он повторно ее использует.
Редактировать еще раз: На данный момент (20 июня 2016 г.) дельта-обновления еще не выпущены, но они находятся в стадии эксперимента и, скорее всего, скоро выйдут. Источник: #snappy на freenode