Совместное использование ресурсов между пакетами Snappy

Совместное использование ресурсов между пакетами Snappy

Обмен ресурсами

Мой первый пример сборки 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

Связанный контент