Compartilhando recursos entre pacotes rápidos

Compartilhando recursos entre pacotes rápidos

Compartilhando recursos

Meu primeiro exemplo de construção instantânea é um servidor Java que desenvolvi. Consegui criar um snap que contém o jre, meu servidor e a inicialização do serviço. Tudo funciona bem.

O arquivo instantâneo resulta em 106 MB, que é principalmente java. Eu queria saber se existe uma maneira de compartilhar a instalação do Java entre servidores? Para que meus arquivos snap fiquem muito pequenos contendo apenas código específico para minha instalação?

Na minha cabeça isso ficaria assim:

Snap 1: um snap que contém o tempo de execução Java e expõe o java para outros usarem. Acredito que os slots sejam usados ​​para isso, mas não tenho 100% de certeza disso. Snap 2: Servidor A que contém apenas meus jars e usa o tempo de execução java do Snap 1. Snap 3: Como o Snap 2, mas com jars diferentes. Eu faria com que o Snap 2 e 3 dependessem do Snap 1, de modo que se alguém instalar o Snap 2, ele instalaria automaticamente o Snap 1. Se o Snap 1 estiver instalado, ele irá pular isso e simplesmente usá-lo?

Não tenho certeza se isso é compatível ou se deve funcionar dessa maneira.

Responder1

Sim, em breve haverá um mecanismo para você compartilhar arquivos em um de seus snaps com outros snaps que você fez. Fique atento à “interface de conteúdo” nas próximas semanas.

Haverá também atualizações delta para snaps, o que reduzirá o upload/download de um determinado snap, mas isso é um assunto à parte.

Responder2

Da resposta de @didrocks:

Este mecanismo não está disponível atualmente (podemos introduzir um no futuro, com os 3 snaps separados como você infere, mas não está disponível agora). Outra opção que você pode procurar se, se os snap 2 e 3 estiverem fortemente acoplados, você puder ter um snap contendo o jvm e seus 2 serviços. Depois, algumas configurações para escolher o que iniciar (serviço 1, serviço 2 ou os dois).

Atualizar:

Eu acabei de ver:Os pacotes instantâneos receberão atualizações diferenciais (delta)?o que essencialmente resolve o problema, eu acho. Minha preocupação era ter que reempacotar o JRE cada vez que publicasse uma nova versão do meu software. Com a atualização delta (que ainda preciso descobrir como fazer), esse problema desaparece. Fico feliz que um pacote tenha seu próprio JRE enquanto o reutiliza.

Edite novamente: a partir de agora (20 de junho de 2016), as atualizações delta ainda não foram lançadas, mas foram testadas e provavelmente chegarão em breve. Fonte: #snappy no freenode

informação relacionada