Snappy パッケージ間でリソースを共有する

Snappy パッケージ間でリソースを共有する

リソースの共有

私の最初のサンプル スナップ ビルドは、私が開発した Java サーバーです。JRE、サーバー、およびサービス スタートアップを含むスナップを作成することができました。すべて正常に動作します。

スナップ ファイルは 106 MB になり、そのほとんどが Java です。Java インストールをサーバー間で共有する方法があるかどうか知りたいです。そうすれば、スナップ ファイルはインストール用の特定のコードのみを含む非常に小さなサイズになりますか?

私の頭の中では、これは次のようになります。

スナップ 1: Java ランタイムを含み、他のユーザーが使用できるように Java を公開するスナップ。スロットが使用されると思いますが、100% 確信はありません。スナップ 2: 私の jar のみを含み、スナップ 1 の Java ランタイムを使用するサーバー A。スナップ 3: スナップ 2 に似ていますが、jar が異なります。スナップ 2 と 3 がスナップ 1 に依存するようにして、誰かがスナップ 2 をインストールすると、スナップ 1 が自動的にインストールされるようにします。スナップ 1 がインストールされている場合は、それをスキップして単に使用するのでしょうか?

これがサポートされているのか、あるいはそのように動作することを意図しているのかはわかりません。

答え1

はい、まもなく、自分のスナップの 1 つにあるファイルを、自分が作成した他のスナップと共有できるメカニズムが提供されます。今後数週間以内に公開される「コンテンツ インターフェイス」に注目してください。

スナップのデルタ更新も行われ、特定のスナップのアップロード/ダウンロードが削減されますが、これは別の問題です。

答え2

@didrocks からの回答:

このメカニズムは、現時点では利用できません (将来的には、ご想像のとおり 3 つのスナップを分離したメカニズムを導入する可能性がありますが、現時点では利用できません)。別のオプションとして、スナップ 2 と 3 が密接に結合されている場合は、1 つのスナップに JVM と 2 つのサービスを含めることができます。次に、何を開始するか (サービス 1、サービス 2、またはその両方) を選択するための構成をいくつか示します。

アップデート:

今見た:スナップ パッケージは差分 (デルタ) 更新を取得しますか?これで問題は本質的に解決したと思います。ソフトウェアの新しいバージョンを公開するたびに JRE を再パッケージ化する必要があるのではないかと心配していました。デルタ アップデート (まだやり方がわかりません) を使用すると、この問題は解消されます。1 つのパッケージが独自の JRE を持ち、それを再利用できるのはうれしいことです。

再度編集: 現時点では (2016 年 6 月 20 日)、デルタ アップデートはまだリリースされていませんが、実験段階であり、まもなくリリースされる予定です。ソース: freenode の #snappy

関連情報