Quarkus는 Java의 미래입니까?

quarqus.io에서

OpenJDK HotSpot 및 GraalVM에 맞게 조정 된 Kubernetes Native Java 스택으로, 동급 최고의 Java 라이브러리 및 표준으로 제작되었습니다.

소개

Quarkus는 Java 세계에 가장 최근에 추가 된 것입니다. Redhat이 시작한이 오픈 소스 프레임 워크는 한동안 논의되었습니다. 시작 시간, 실행 비용을 개선하고 생산성을 높입니다. 이것이 Quarkus가 이미 Java의 미래로 간주 된 이유입니다.

소위 클라우드 네이티브 Java 애플리케이션 또는 "Kubernetes 네이티브"라는 용어를 사용하여 개발할 수 있도록 설계되었습니다. 주요 목표는 애플리케이션의 시작 시간과 메모리 공간을 줄이는 것입니다.

이러한 성능 목표를 넘어서 프레임 워크는 개발자에게 통합 구성과 실시간 재로드의 반환을 제공하여 개발자의 삶을 단순화하려는 강한 열망을 보여줍니다.

Livereload

Quarkus는 Spring Boot 의 출시 와 함께 사라졌던 기능인 livereload를 되살 렸습니다.

Java로 개발할 때 변경 사항을 고려하려면 컴파일을 시작하고 응용 프로그램을 다시 시작해야합니다. Livereload는 이러한 재시작 필요성을 제거하여 간접적으로 피드백 루프를 줄였습니다.

그러나 리플렉션을 사용하여 프로그램을 시작할 때 애플리케이션 컨텍스트를 빌드하는 Spring Boot와 같은 프레임 워크에서는 제대로 작동하지 않습니다. 코드를 변경하면 컨텍스트가 수정 될 수 있으므로 다시 시작해야합니다. 이 재시작에는 간접적 인 비용이 발생하며 생산성에 부정적인 영향을 미친다고 순진하게 믿을 수 있습니다.

네이티브 컴파일

Quarkus는 GraalVM에서 제공하는 기본 컴파일 (Quarkus.io에서 사용 가능한 데이터에서 계산 된 백분율)을 사용하여 부팅 시간을 약 99 %, 기존 Java 응용 프로그램의 메모리 사용량을 약 86 % 입니다. 이러한 개선을 달성하기 위해 Quarkus는 GraalVM과 컨테이너를 활용하여 네이티브 Java 실행 파일을 빌드합니다. 그런 다음 실행 파일은 정의 된 환경에서 실행되도록 최적화됩니다.

GraalVM 과 특히 Substrate VM 은 이제 Java 언어의 밝고 긴 미래를위한 문을 열고 있습니다. GraalVM은JavaScript, Python, Ruby, R, Java, Scala 또는 Kotlin과 같은 JVM 기반 언어로 작성된 애플리케이션을 실행하기위한 범용 가상 머신 입니다. 좋은 점은 GraalVM을 사용하면 프로그램을 미리 (AOT) 네이티브 실행 파일 로컴파일 할 수 있다는 것입니다. 즉, Java 코드를 기계 별 코드로 직접 컴파일 할 수 있습니다. 결과 프로그램은 Java HotSpot VM에서 실행되지 않지만 메모리 관리, Substrate VM 이라는 가상 머신의 다른 구현에서 스레드 스케줄링과 같은 필수 구성 요소를 사용합니다 . 기판 VM은 Java로 작성되고 기본 실행 파일로 컴파일됩니다.

Quarqus.io에서

네이티브 실행 파일 덕분에 JDK를 설치하지 않고도 모든 시스템에서 JAVA 애플리케이션을 실행할 수 있습니다. 이것은 특히 우리가 마이크로 서비스를 사용할 때 큰 문제입니다.

JAVA를 기반으로 한 6 개의 마이크로 서비스로 나뉜 애플리케이션이 있다고 가정 해 보겠습니다. 그런 다음 Java 애플리케이션을 실행하기 위해 각각에 JDK를 설치해야합니다. JDK에는 약 250MB의 디스크 공간이 필요하므로 여기에 6을 곱하면 마이크로 서비스의 JDK에 대해서만 1500MB가됩니다.

따라서 QuarkusGraalVM 덕분에 JDK를 설치하지 않고도 JAVA 애플리케이션을 빌드하고 컨테이너에 배포 할 수 있습니다. 결과적으로 우리는 많은 저장 공간과 시작 시간을 절약합니다.

Quarqus.io에서

결론

Quarkus는 Java 가상 머신 (JVM) 및 네이티브 컴파일을 위해 만들어진 풀 스택 Kubernetes 네이티브 자바 프레임 워크로 , 컨테이너 용으로 특별히 Java를 최적화 하고 서버리스 클라우드 (Faas) 및 Kubernetes 환경을 위한 효과적인 플랫폼이 될 수 있습니다.

이 프레임 워크는 더 높은 워크로드 밀도를 달성하여 총 리소스 비용 하드웨어, 클라우드 컴퓨팅 및 메모리를 줄입니다.

Java를 기본적으로 컴파일 된 다른 프로그래밍 언어와 비교할 수 있습니다. 그리고 빠른 시작 시간, 라이브 리로드 및 기타 많은 기능 덕분에 훌륭한 개발 경험을 제공 합니다.

Suggested posts

기계 학습 모델을위한 무료 서버를 얻는 방법은 무엇입니까?

기계 학습 모델을위한 무료 서버를 얻는 방법은 무엇입니까?

전 세계 어디에서나 무료 서버를 시작하고 구성하는 방법에 대한 10 단계 자습서 상시 작동 서버를 사용하는 것은 미래의 고용주에 대한 참조를 표시하거나 실제 세계에서 기계 학습 모델을 테스트하는 좋은 방법입니다. 시작하기 전에 저는 어떤 식 으로든 Amazon과 관련이 없다는 사실을 공개하고 싶습니다.

AWS Java Runtime Interface 클라이언트 소싱 열기

AWS Java Runtime Interface 클라이언트 소싱 열기

re : Invent 2020에서 AWS Lambda 함수를위한 새로운 패키징 형식이 도입되었습니다. 컨테이너 이미지. 이 기능을 통해 고객도 사용할 수있는 관리 형 기본 이미지가 많이 생겼습니다.

Related posts

"실용적인 프로그래머"의 5 가지 필수 사항

역대 베스트셀러 코딩 북의 요점

"실용적인 프로그래머"의 5 가지 필수 사항

Pragmatic Programmer는 1999 년에 처음 출판되었으며 이후 역대 최고의 프로그래밍 책으로 선정되었습니다. 저자 Andy Hunt와 David Thomas는 Agile Manifesto의 원저자 중 하나였으며 몇 가지 심각한 자격을 가지고 있습니다.

대규모 GraphQL 쿼리 공격으로부터 보호

공격자가 공개적으로 사용 가능한 GraphQL 인터페이스를 사용하여 사이트를 스크랩하거나 서비스 거부 공격을 실행하는 방법에 대해 알아보십시오. 이들은 4 가지 방법 중 하나로이를 수행 할 수 있습니다. 단일 대형 쿼리를 신중하게 구성하여 실행하고, 관련 데이터를 가져올 수있는 병렬 쿼리를 많이 작성하고, 일괄 요청을 사용하여 많은 쿼리를 연속적으로 실행하고, 마지막으로 많은 요청을 보냅니다.

기술 인터뷰의 사회적 구성 요소

코딩 문제는 스트레스가 많지만 스트레스에 대한 당신의 반응은 당신의 기술적 능력보다 더 크게 말합니다.

기술 인터뷰의 사회적 구성 요소

기술 업계의 직책을 위해 인터뷰 할 때 일반적으로 제안을 고려하기 전에 최소한 3 차례의 인터뷰를 거치게됩니다. 라운드는 일반적으로 다음과 같습니다. 그렇게 생각하면 잘못된 것입니다.

훌륭한 개발자의 3 가지 행동 특성

훌륭한 개발자의 3 가지 행동 특성

훌륭한 개발자를 만드는 비 기술적 인 것들 나는이 기사를 작성하는 것을 한동안 미루고 있습니다. 나는 그것을 작성할 자격이 있다고 생각하지 못했습니다. 오늘은 쓸 때라고 생각했습니다.