applepie-umai / SpringFest2019

0 stars 0 forks source link

[Quarkus による超音速な Spring アプリケーション開発] [福本] #13

Open fukumotom opened 4 years ago

fukumotom commented 4 years ago

Quarkus による超音速な Spring アプリケーション開発

概要

QuarkusについてとQuarkusを使用した開発デモ

このセッションに関連するキーワード

セッションの内容

話の流れ

Quarkusとは、KubernetesネイティブJavaフレームワーク。 名前の由来は、「quark:素粒子」+「us:コンピュータ科学でもっとも難しいこと」

Quarkusが出てきた背景

サーバレスが進み、マイクロサービスやFunction-as-a-Serviceなどに対応していくのに、 Javaの起動時のオーバーヘッド、メモリのオーバーヘッドが無視できなくなってきている。 Javaは使っていきたいけれど、上記の理由でもっとメモリ消費の少ないnodejsやgoに流れていってしまう・・・ そこで、省メモリ、かつ開発者にとってより開発がしやすいQuarkusが登場してきた。

開発のしやすさ

  1. Hot Reloadにより、Javaソースの変更が再起動を必要とせずに反映できる。また、簡単なエラー原因も画面上でわかるようになっている。

  2. Extensionsも豊富で、様々な組み合わせのプロジェクトをpring Boot Initializerのように即座に作れる。また、あとからExtensionの追加も簡単に可能。
    (参考)https://code.quarkus.io/

起動時のオーバーヘッド、メモリのオーバーヘッド

  1. 起動時にすべてのブートストラップはロードしない
  2. GraalVMを使ってNative Imagewを使用することにより起動時間の短縮、メモリ利用量を抑えられる

考察したこと

新たに知ったこと

疑問点(記載したければ)

講義資料URL

https://www.slideshare.net/ChihiroIto1/quarkus-spring

ghost commented 4 years ago

1.Hot Reloadにより、Javaソースの変更が再起動を必要とせずに反映できる。 また、簡単なエラー原因も画面上でわかるようになっている。

ソース修正した際にサーバ再起動が必要ないのはいいですね。修正箇所が細かい場合など再起動を待つのが面倒なので。 エラー原因が画面上で分かるようになっている、というのはいまいちイメージできないのですが、エラーログのようなものが画面上に出るのでしょうか?

fukumotom commented 4 years ago

エラーログのようなものが画面上に出るのでしょうか?

エラー画面、面白かったよ。 簡単なカッコのないコンパイルエラーの例をみせてもらったけど、 「カッコがついてません」ってエラー解析結果を教えてくれました。 簡単なエラーならエラーログ見なくてもいいようにとのことです。 (複雑なのだと解析まではさすがにできないそうですが)

ogawaeri commented 4 years ago

Javaソースの変更が再起動を必要とせずに反映できる

これはいいなぁと思いました、開発の高速化にもなりそうです(繰り返し作業はいい方法がないかなぁと思った方がよかったですね。。)。今マイクロサービスなどでJavaのメモリがどれだけネックになっているか、みんなが対応方法を考えていることから分かってきました。

もう一つのセッション「Spring と GraalVM Native Image」でGraalVM+AOTネイティブコンパイル プラットフォームによってビルドが必要とありましたが、"ビルドは1回頑張ればよい"とスライドにあったため商用レベルの資材の入れ替え頻度だと、気にならないかもしれないですね。

簡単なエラーならエラーログ見なくてもいいようにとのことです。

別ファイルを開くオペレーションも減らそう、ということなんですね。