Java의 프레임워크 "Quarkus"를 시도했습니다.
개시하다
Docker 컨테이너에 응용 프로그램을 활용할 기회가 많아졌다.
컨테이너를 사용할 때 시동 시간이 매우 중요하게 변한다.
자바를 실행할 때 JVM에서 이동해야 하지만 이 JVM을 시작하는 데 시간이 좀 걸립니다.
이번에 소개된 Quarkus는 GraalVM을 이용하여 현지인용 바이너리를 제작함으로써 고속 가동을 실현하는 프레임워크가 되었다.
운영 환경
전제 조건
GraalVM 설정
여기.부터gravalvm-ce-1.0-rc13-macos-amd64까지.tar.gz
다운로드(2019/03/12시)하십시오.
동결을 해제한 후 각 폴더를/Library/JavaVirtual Machines에 배치합니다.
GravalVM의 환경 변수(GRALVM HOME)를 설정합니다.
.bash_profileGRAALVM_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"
위 명령을 실행하면 다음 그림과 같이 Maven 항목이 생성됩니다.
응용 프로그램 시작 # 開発モードで起動
$ mvn compile quarkus:dev
개발 모드로 시작하면 열중량을 실현할 수 있다.
다음 명령을 사용하여 작업을 확인합니다.$ curl http://localhost:8080/hello
구축(로컬 바이너리 생성) $ mvn package -Pnative -Dnative-image.docker-build=true
옵션
컨텐트
-Pnative
로컬 실행 가능한 바이너리 생성 지정
-Dnative-image.docker-build=true
Docker의 OS에 따라 로컬 바이너리가 생성되는 경우를 지정합니다.
이번에도 Docker에서 시작하려고 지정-Dnative-image.docker-build=true
했습니다.
로컬 바이너리 파일을 만드는 데 시간이 좀 걸립니다.
Docker 구축 $ docker build -f src/main/docker/Dockerfile -t <イメージ名> .
Docker 컨테이너 시작 $ docker run -i --rm -p 8080:8080 <イメージ名>
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]
시동 시간에 주의하시기 바랍니다.
시작 후의 로그를 확인합니다. Quarkus 0.11.0 started in 0.004s
0.004초에 시동이 걸린 셈이다.빠르네.
끝말
Quarkus를 이용하면 용기에 있는 프로그램의 시작이 압도적으로 빨라진다.
Quarkus 자체는 방금 나온 것이기 때문에 본격적으로 사용하기는 어려울 것 같지만, 개발이 깊어지면서 정보가 늘어나면 실용적인 기회가 늘어난다.나는 앞으로를 기대하고 있다.
또한 Quarkus는 추가 확장 기능을 사용할 수 있습니다.
예를 들어, 기본적으로 JavaEE 표준 CDI이지만 Spring 기반 CDI를 사용할 수 있습니다.
이 일대도 조사하면서 정보를 공유할 것이다.
참고 자료
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"
위 명령을 실행하면 다음 그림과 같이 Maven 항목이 생성됩니다.응용 프로그램 시작 # 開発モードで起動
$ mvn compile quarkus:dev
개발 모드로 시작하면 열중량을 실현할 수 있다.
다음 명령을 사용하여 작업을 확인합니다.$ curl http://localhost:8080/hello
구축(로컬 바이너리 생성) $ mvn package -Pnative -Dnative-image.docker-build=true
옵션
컨텐트
-Pnative
로컬 실행 가능한 바이너리 생성 지정
-Dnative-image.docker-build=true
Docker의 OS에 따라 로컬 바이너리가 생성되는 경우를 지정합니다.
이번에도 Docker에서 시작하려고 지정-Dnative-image.docker-build=true
했습니다.
로컬 바이너리 파일을 만드는 데 시간이 좀 걸립니다.
Docker 구축 $ docker build -f src/main/docker/Dockerfile -t <イメージ名> .
Docker 컨테이너 시작 $ docker run -i --rm -p 8080:8080 <イメージ名>
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]
시동 시간에 주의하시기 바랍니다.
시작 후의 로그를 확인합니다. Quarkus 0.11.0 started in 0.004s
0.004초에 시동이 걸린 셈이다.빠르네.
끝말
Quarkus를 이용하면 용기에 있는 프로그램의 시작이 압도적으로 빨라진다.
Quarkus 자체는 방금 나온 것이기 때문에 본격적으로 사용하기는 어려울 것 같지만, 개발이 깊어지면서 정보가 늘어나면 실용적인 기회가 늘어난다.나는 앞으로를 기대하고 있다.
또한 Quarkus는 추가 확장 기능을 사용할 수 있습니다.
예를 들어, 기본적으로 JavaEE 표준 CDI이지만 Spring 기반 CDI를 사용할 수 있습니다.
이 일대도 조사하면서 정보를 공유할 것이다.
참고 자료
# 開発モードで起動
$ mvn compile quarkus:dev
$ curl http://localhost:8080/hello
$ mvn package -Pnative -Dnative-image.docker-build=true
옵션컨텐트
-Pnative
로컬 실행 가능한 바이너리 생성 지정
-Dnative-image.docker-build=true
Docker의 OS에 따라 로컬 바이너리가 생성되는 경우를 지정합니다.
이번에도 Docker에서 시작하려고 지정
-Dnative-image.docker-build=true
했습니다.로컬 바이너리 파일을 만드는 데 시간이 좀 걸립니다.
Docker 구축 $ docker build -f src/main/docker/Dockerfile -t <イメージ名> .
Docker 컨테이너 시작 $ docker run -i --rm -p 8080:8080 <イメージ名>
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]
시동 시간에 주의하시기 바랍니다.
시작 후의 로그를 확인합니다. Quarkus 0.11.0 started in 0.004s
0.004초에 시동이 걸린 셈이다.빠르네.
끝말
Quarkus를 이용하면 용기에 있는 프로그램의 시작이 압도적으로 빨라진다.
Quarkus 자체는 방금 나온 것이기 때문에 본격적으로 사용하기는 어려울 것 같지만, 개발이 깊어지면서 정보가 늘어나면 실용적인 기회가 늘어난다.나는 앞으로를 기대하고 있다.
또한 Quarkus는 추가 확장 기능을 사용할 수 있습니다.
예를 들어, 기본적으로 JavaEE 표준 CDI이지만 Spring 기반 CDI를 사용할 수 있습니다.
이 일대도 조사하면서 정보를 공유할 것이다.
참고 자료
$ docker build -f src/main/docker/Dockerfile -t <イメージ名> .
$ docker run -i --rm -p 8080:8080 <イメージ名>
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]
시동 시간에 주의하시기 바랍니다.시작 후의 로그를 확인합니다.
Quarkus 0.11.0 started in 0.004s
0.004초에 시동이 걸린 셈이다.빠르네.끝말
Quarkus를 이용하면 용기에 있는 프로그램의 시작이 압도적으로 빨라진다.
Quarkus 자체는 방금 나온 것이기 때문에 본격적으로 사용하기는 어려울 것 같지만, 개발이 깊어지면서 정보가 늘어나면 실용적인 기회가 늘어난다.나는 앞으로를 기대하고 있다.
또한 Quarkus는 추가 확장 기능을 사용할 수 있습니다.
예를 들어, 기본적으로 JavaEE 표준 CDI이지만 Spring 기반 CDI를 사용할 수 있습니다.
이 일대도 조사하면서 정보를 공유할 것이다.
참고 자료
Reference
이 문제에 관하여(Java의 프레임워크 "Quarkus"를 시도했습니다.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/mr-hisa-child/items/92e0417460adc328596a텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)