1.0の登場により、LinuxコンテナネイティブおよびkubernetesネイティブのJavaマイクロサービスを開発するための革新的なプラットフォームがもたらされました。開発者は通常、新しい革新的なランタイム・フレームワークを評価する際に、既存の知識を脇に置いておく必要があります。Quarkusが他と異なるのは、Java技術に広く深く専門知識を持つエンジニア達によって作成されたことです。Bootのサポートを提供したエンジニアによってQuarkusにもたらされました。私はSpringの開発者です。Quarkus?一般にコンテナ化と特にKubernetes化が、クラウドネイティブアプリケーション開発のためにJavaの再評価を強いていることは、ますます明らかになってきています。Kubernetesは非常に動的な共有インフラストラクチャであり、クラスタがホストできるアプリケーションの数が増え、再配置やスケールアップ/スケールダウンなどのアプリケーションライフサイクルの変化に対する応答性が改善されると、コスト効率が向上します。従来のJavaクラウドネイティブのランタイムは、基礎となるスタック自体を再検討することなく、既存のスタックに新しい機能を重ねてきました。その結果、メモリ消費量が増えて起動時間が遅くなり、GoやNode.jsのためにJavaの深い専門知識を再教育や再ツール化し、Kubernetesクラスタへの多大な投資からより多くの価値を引き出すことに組織が諦めています。これは非常に大きな問題で、Quarkusはまさにこの問題に取り組んでいます。Quarkusは、メモリ密度と高速起動時間に最適化されています。JVM上で動作するQuarkusアプリケーションは、他のクラウドネイティブJavaスタックと比較して、同じRAM容量で2倍近い数のアプリケーションインスタンスを提供することができ、ネイティブバイナリとしてパッケージ化した場合は、最大7倍のインスタンスを提供することができます。これは単にSubstrateVM(GraalVMの機能)を使ってネイティブバイナリにコンパイルする以上のものです。Quarkusは従来から「非常にダイナミックな」フレームワークをKubernetesの変更不可能なインフラストラクチャに最適化しており、メモリ使用率の低減と初期化の高速化を実現しています。これらの最適化され、十分に文書化されたフレームワークは「拡張機能(extensions)」と呼ばれ、最善の組み合わせと標準APIで構成されています。その結果、実行時の効率が大幅に向上します。APIも計画されています。JVM上で実行する場合、Quarkusアプリケーションは事実上すべてのJavaライブラリを利用できます。Javaのリフレクションを使用しない限り、多くのライブラリーはネイティブにコンパイルされます。LombokはSpring開発者に人気のあるライブラリで、ネイティブコンパイルで動作します。APIの互換性は、既存のSpringアプリケーションを再ホストするための完全なSpringプラットフォームを意図したものではありません。APIの互換性を提供することです。事前に最適化された拡張機能と組み合わせることで、Quarkusはマイクロサービス開発のための驚くべき数の拡張機能を提供します。以上のように、開発者はSpringアプリケーションをQuarkusに移行することに成功しています。Frameworkは事実上、非常に動的です。APIを既存の拡張機能のAPIにマッピングします。既存の拡張機能は、RestEasyやCDIなど、高速な起動、メモリー使用率の削減、ネイティブコンパイルのためにすでに最適化されています。Spring互換拡張機能は、Springアプリケーションコンテキストを利用しません。これらの理由から、追加のSpringライブラリーを利用しようとしてもうまくいかないでしょう。}Spring開発者には他にもメリットがありますか?メモリ使用率と起動時間の改善に加えて、QuarkusはSpring開発者に以下の利点を提供します。Service(FaaS)ランタイムネイティブバイナリにコンパイルすると、Quarkusアプリケーションは0.0015秒で起動できます。APIの知識をFaaSの関数で使うことができます。World」のサンプルアプリから始めて、アプリを再起動することなく、複雑なマイクロサービスに変換します。保存してブラウザを再読み込みするだけで更新を確認できます。QuarkusライブコーディングはIDEに関係なく、「うまくいく」をすぐに活用できます。リアクティブモデルと命令モデルのサポートQuarkusには、同じアプリケーション内で従来の命令型モデル、リアクティブモデル、またはその両方をサポートするリアクティブコアがあります。依存性注入エラーの早期検出Quarkusは実行時ではなくコンパイル時に依存性注入エラーを確認できます。Vert.x、MicroProfile(JAX-RS、CDIなど)、リアクティブストリーム、メッセージングなどをサポートします。Bootへ」を読んでみてください。Spring開発者はどのようにしてQuarkusを使い始めるべきでしょうか?推奨される手順は次のとおりです。JPAの各ガイドをご覧ください。使用して新しいアプリケーションを作成してみましょう。ミドルウェアのサポートをしている三浦です。エンジニアリングの佐藤匡剛です。各記事は著者の見解によるものでありその所属組織を代表する公式なものではありません。その内容については非公式見解を含みます。スターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。