Il existe plus d'opportunités pour exécuter des applications sur des conteneurs Docker. Le temps de démarrage est important lors du fonctionnement dans un conteneur. Lors de l'exécution de Java, il s'exécute sur la JVM, mais le démarrage de cette JVM prend un certain temps.
Quarkus a présenté cette fois-ci un framework qui réalise un démarrage rapide en créant un binaire natif à l'aide de GraalVM.
--Java 8 et plus --Maven 3.5.3 et supérieur
Depuis ici graalvm-ce-1.0.0-rc13-macos-amd64.tar.gz Veuillez télécharger (à partir du 12 mars 2019).
Décompressez-le et placez le dossier entier dans / Library / Java / JavaVirtualMachines.
Définissez la variable d'environnement GraalVM (GRAALVM_HOME).
.bash_profile
GRAALVM_HOME=/Library/Java/JavaVirtualMachines/graalvm-ce-1.0.0-rc13-macos-amd64/Contents/Home
$ mvn io.quarkus:quarkus-maven-plugin:0.11.0:create \
-DprojectGroupId=jp.acme \
-DprojectArtifactId=getting-started \
-DclassName="org.acme.quickstart.GreetingResource" \
-Dpath="/hello"
L'exécution de la commande ci-dessus créera un projet Maven comme indiqué ci-dessous.
#Démarrer en mode développement
$ mvn compile quarkus:dev
Le rechargement à chaud peut être réalisé en démarrant en mode développement. Vérifiez le fonctionnement avec la commande suivante.
$ curl http://localhost:8080/hello
$ mvn package -Pnative -Dnative-image.docker-build=true
option | Contenu |
---|---|
-Pnative | Spécifier lors de la génération d'un binaire exécutable nativement |
-Dnative-image.docker-build=true | Spécifiez lors de la génération d'un binaire natif qui correspond au système d'exploitation sur Docker |
Puisque nous voulons le démarrer sur Docker cette fois, spécifiez également `` -Dnative-image.docker-build = true ''.
La construction prendra un certain temps, probablement parce qu'elle génère des binaires natifs.
$ docker build -f src/main/docker/Dockerfile -t <Nom de l'image> .
$ docker run -i --rm -p 8080:8080 <Nom de l'image>
2019-03-12 01:29:01,328 INFO [io.quarkus](main) Quarkus 0.11.0 started in 0.004s. Listening on: http://0.0.0.0:8080
2019-03-12 01:29:01,328 INFO [io.quarkus](main) Installed features: [cdi, resteasy]
Ce à quoi vous devez faire attention ici, c'est l'heure de démarrage.
Si vous vérifiez le journal après le démarrage, il indique
Quarkus 0.11.0 a démarré en 0.004s` ``.
En d'autres termes, vous pouvez voir qu'il a été démarré en 0,004 seconde. Il est tôt.
En utilisant Quarkus, l'application sur le conteneur démarre extrêmement plus rapidement. Quarkus lui-même vient de sortir, donc je pense qu'il sera difficile de le mettre en pratique dans la production, mais à mesure que le développement progresse et que davantage d'informations seront disponibles, je pense qu'il y aura plus d'opportunités pour qu'il devienne pratique. J'attends ça avec impatience à l'avenir.
Vous pouvez également ajouter des extensions à Quarkus. Par exemple, la valeur par défaut est le CDI standard Java EE, mais le CDI basé sur Spring peut être utilisé. Nous partagerons également des informations tout en étudiant ce domaine.
Recommended Posts