Java의 프레임워크 "Quarkus"를 시도했습니다.

3813 단어 JavaQuarkus

개시하다


Docker 컨테이너에 응용 프로그램을 활용할 기회가 많아졌다.
컨테이너를 사용할 때 시동 시간이 매우 중요하게 변한다.
자바를 실행할 때 JVM에서 이동해야 하지만 이 JVM을 시작하는 데 시간이 좀 걸립니다.
이번에 소개된 Quarkus는 GraalVM을 이용하여 현지인용 바이너리를 제작함으로써 고속 가동을 실현하는 프레임워크가 되었다.

운영 환경

  • MacOS Mojave
  • 전제 조건

  • Java 8 이상
  • Maven 3.53 이상
  • GraalVM 설정


    여기.부터gravalvm-ce-1.0-rc13-macos-amd64까지.tar.gz
    다운로드(2019/03/12시)하십시오.
    동결을 해제한 후 각 폴더를/Library/JavaVirtual Machines에 배치합니다.
    GravalVM의 환경 변수(GRALVM 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"
    
    위 명령을 실행하면 다음 그림과 같이 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.004s0.004초에 시동이 걸린 셈이다.빠르네.

    끝말


    Quarkus를 이용하면 용기에 있는 프로그램의 시작이 압도적으로 빨라진다.
    Quarkus 자체는 방금 나온 것이기 때문에 본격적으로 사용하기는 어려울 것 같지만, 개발이 깊어지면서 정보가 늘어나면 실용적인 기회가 늘어난다.나는 앞으로를 기대하고 있다.
    또한 Quarkus는 추가 확장 기능을 사용할 수 있습니다.
    예를 들어, 기본적으로 JavaEE 표준 CDI이지만 Spring 기반 CDI를 사용할 수 있습니다.
    이 일대도 조사하면서 정보를 공유할 것이다.

    참고 자료

  • QUARKUS(홈 사이트)
  • Quarkus: 컨테이너에서 자바 응용을 빠르게 시작하는 새로운 방법을 소개합니다.
  • 좋은 웹페이지 즐겨찾기