Submit Search
Upload
Try micronaut
•
Download as PPTX, PDF
•
0 likes
•
4,643 views
賢太郎 前多
Follow
micronaout を試した JJUG CCC 2018 Spring LT
Read less
Read more
Technology
Report
Share
Report
Share
1 of 19
Download now
Recommended
Azure DevOpsで技術同人誌作成
Azure DevOpsで技術同人誌作成
裕之 木下
Azureもくもく会@東京のいままでとこれからと
Azureもくもく会@東京のいままでとこれからと
裕之 木下
Grunt.jsを使った Expressの開発環境構築
Grunt.jsを使った Expressの開発環境構築
kamiyam .
クラウドで動画配信
クラウドで動画配信
裕之 木下
Client Side Balzorでツールを作ってみた
Client Side Balzorでツールを作ってみた
裕之 木下
buddyのユーザ認証周りのデータ構造 - 使われているデータの取り回しについてのお話
buddyのユーザ認証周りのデータ構造 - 使われているデータの取り回しについてのお話
Kazuhiro Hara
React VR ことはじめ
React VR ことはじめ
Kazuhiro Hara
Re-frame and A-Frame
Re-frame and A-Frame
Kazuhiro Hara
Recommended
Azure DevOpsで技術同人誌作成
Azure DevOpsで技術同人誌作成
裕之 木下
Azureもくもく会@東京のいままでとこれからと
Azureもくもく会@東京のいままでとこれからと
裕之 木下
Grunt.jsを使った Expressの開発環境構築
Grunt.jsを使った Expressの開発環境構築
kamiyam .
クラウドで動画配信
クラウドで動画配信
裕之 木下
Client Side Balzorでツールを作ってみた
Client Side Balzorでツールを作ってみた
裕之 木下
buddyのユーザ認証周りのデータ構造 - 使われているデータの取り回しについてのお話
buddyのユーザ認証周りのデータ構造 - 使われているデータの取り回しについてのお話
Kazuhiro Hara
React VR ことはじめ
React VR ことはじめ
Kazuhiro Hara
Re-frame and A-Frame
Re-frame and A-Frame
Kazuhiro Hara
ノンコーディングでLineBotを作る MS FLOW編
ノンコーディングでLineBotを作る MS FLOW編
裕之 木下
TREASUREDATAのエコシステムで作るロバストなETLデータ処理基盤の作り方
TREASUREDATAのエコシステムで作るロバストなETLデータ処理基盤の作り方
Kentaro Yoshida
Rancher Meetup Tokyo #4 Intro
Rancher Meetup Tokyo #4 Intro
Yosuke Shindo
Juju/MAASで作る Kubernetes + GPU
Juju/MAASで作る Kubernetes + GPU
VirtualTech Japan Inc.
サイト制作(Nuxt.js)学習実施要項
サイト制作(Nuxt.js)学習実施要項
IIHARA HODAKA
WebXR TechTokyo #3 in Cluster発表資料
WebXR TechTokyo #3 in Cluster発表資料
WheetTweet
localstackによるAWS Lambdaの開発環境を、miniconda上でつくったら簡単便利だった話
localstackによるAWS Lambdaの開発環境を、miniconda上でつくったら簡単便利だった話
真治 米田
[大図解]ピグライフはこう動いている
[大図解]ピグライフはこう動いている
Akihiro Kuwano
Cocos2dx tips
Cocos2dx tips
Akihiro Matsuura
React系(別言語含む)の サーバーサイドレンダリング について考えよう
React系(別言語含む)の サーバーサイドレンダリング について考えよう
Kazuhiro Hara
SwaggerとAPIのデザイン
SwaggerとAPIのデザイン
Kazuhiro Hara
最近のJuju/MAASについて 〜 15分版 - OpenStack最新情報セミナー 2017年11月
最近のJuju/MAASについて 〜 15分版 - OpenStack最新情報セミナー 2017年11月
VirtualTech Japan Inc.
20170819 ocd-l tthon-pgdev
20170819 ocd-l tthon-pgdev
Toshi Harada
Ruby on cygwin (2019/8月号)
Ruby on cygwin (2019/8月号)
fd0
軽量Kubernetes環境 K3Sのご紹介
軽量Kubernetes環境 K3Sのご紹介
Tetsurou Yano
0831 node学園lt
0831 node学園lt
Kazuya Fukumoto
Rancher meetuptokyo #4 Vagrant でつくる Rancher HA構成
Rancher meetuptokyo #4 Vagrant でつくる Rancher HA構成
Tetsurou Yano
KUSANAGIを触ってみた (WordFes Nagoya 2016 セッション)
KUSANAGIを触ってみた (WordFes Nagoya 2016 セッション)
Kiminori Yokoi
いまさら聞けないRancherの話
いまさら聞けないRancherの話
Ryotaro Kobayashi
アカツキはどのようにAWSを活用しているか #jawsug
アカツキはどのようにAWSを活用しているか #jawsug
aktsk
Micronaut on Azure 試してみた
Micronaut on Azure 試してみた
拓将 平林
あなたとわたしの仲介人♡サービスブローカー
あなたとわたしの仲介人♡サービスブローカー
Tsukasa Kato
More Related Content
What's hot
ノンコーディングでLineBotを作る MS FLOW編
ノンコーディングでLineBotを作る MS FLOW編
裕之 木下
TREASUREDATAのエコシステムで作るロバストなETLデータ処理基盤の作り方
TREASUREDATAのエコシステムで作るロバストなETLデータ処理基盤の作り方
Kentaro Yoshida
Rancher Meetup Tokyo #4 Intro
Rancher Meetup Tokyo #4 Intro
Yosuke Shindo
Juju/MAASで作る Kubernetes + GPU
Juju/MAASで作る Kubernetes + GPU
VirtualTech Japan Inc.
サイト制作(Nuxt.js)学習実施要項
サイト制作(Nuxt.js)学習実施要項
IIHARA HODAKA
WebXR TechTokyo #3 in Cluster発表資料
WebXR TechTokyo #3 in Cluster発表資料
WheetTweet
localstackによるAWS Lambdaの開発環境を、miniconda上でつくったら簡単便利だった話
localstackによるAWS Lambdaの開発環境を、miniconda上でつくったら簡単便利だった話
真治 米田
[大図解]ピグライフはこう動いている
[大図解]ピグライフはこう動いている
Akihiro Kuwano
Cocos2dx tips
Cocos2dx tips
Akihiro Matsuura
React系(別言語含む)の サーバーサイドレンダリング について考えよう
React系(別言語含む)の サーバーサイドレンダリング について考えよう
Kazuhiro Hara
SwaggerとAPIのデザイン
SwaggerとAPIのデザイン
Kazuhiro Hara
最近のJuju/MAASについて 〜 15分版 - OpenStack最新情報セミナー 2017年11月
最近のJuju/MAASについて 〜 15分版 - OpenStack最新情報セミナー 2017年11月
VirtualTech Japan Inc.
20170819 ocd-l tthon-pgdev
20170819 ocd-l tthon-pgdev
Toshi Harada
Ruby on cygwin (2019/8月号)
Ruby on cygwin (2019/8月号)
fd0
軽量Kubernetes環境 K3Sのご紹介
軽量Kubernetes環境 K3Sのご紹介
Tetsurou Yano
0831 node学園lt
0831 node学園lt
Kazuya Fukumoto
Rancher meetuptokyo #4 Vagrant でつくる Rancher HA構成
Rancher meetuptokyo #4 Vagrant でつくる Rancher HA構成
Tetsurou Yano
KUSANAGIを触ってみた (WordFes Nagoya 2016 セッション)
KUSANAGIを触ってみた (WordFes Nagoya 2016 セッション)
Kiminori Yokoi
いまさら聞けないRancherの話
いまさら聞けないRancherの話
Ryotaro Kobayashi
アカツキはどのようにAWSを活用しているか #jawsug
アカツキはどのようにAWSを活用しているか #jawsug
aktsk
What's hot
(20)
ノンコーディングでLineBotを作る MS FLOW編
ノンコーディングでLineBotを作る MS FLOW編
TREASUREDATAのエコシステムで作るロバストなETLデータ処理基盤の作り方
TREASUREDATAのエコシステムで作るロバストなETLデータ処理基盤の作り方
Rancher Meetup Tokyo #4 Intro
Rancher Meetup Tokyo #4 Intro
Juju/MAASで作る Kubernetes + GPU
Juju/MAASで作る Kubernetes + GPU
サイト制作(Nuxt.js)学習実施要項
サイト制作(Nuxt.js)学習実施要項
WebXR TechTokyo #3 in Cluster発表資料
WebXR TechTokyo #3 in Cluster発表資料
localstackによるAWS Lambdaの開発環境を、miniconda上でつくったら簡単便利だった話
localstackによるAWS Lambdaの開発環境を、miniconda上でつくったら簡単便利だった話
[大図解]ピグライフはこう動いている
[大図解]ピグライフはこう動いている
Cocos2dx tips
Cocos2dx tips
React系(別言語含む)の サーバーサイドレンダリング について考えよう
React系(別言語含む)の サーバーサイドレンダリング について考えよう
SwaggerとAPIのデザイン
SwaggerとAPIのデザイン
最近のJuju/MAASについて 〜 15分版 - OpenStack最新情報セミナー 2017年11月
最近のJuju/MAASについて 〜 15分版 - OpenStack最新情報セミナー 2017年11月
20170819 ocd-l tthon-pgdev
20170819 ocd-l tthon-pgdev
Ruby on cygwin (2019/8月号)
Ruby on cygwin (2019/8月号)
軽量Kubernetes環境 K3Sのご紹介
軽量Kubernetes環境 K3Sのご紹介
0831 node学園lt
0831 node学園lt
Rancher meetuptokyo #4 Vagrant でつくる Rancher HA構成
Rancher meetuptokyo #4 Vagrant でつくる Rancher HA構成
KUSANAGIを触ってみた (WordFes Nagoya 2016 セッション)
KUSANAGIを触ってみた (WordFes Nagoya 2016 セッション)
いまさら聞けないRancherの話
いまさら聞けないRancherの話
アカツキはどのようにAWSを活用しているか #jawsug
アカツキはどのようにAWSを活用しているか #jawsug
Similar to Try micronaut
Micronaut on Azure 試してみた
Micronaut on Azure 試してみた
拓将 平林
あなたとわたしの仲介人♡サービスブローカー
あなたとわたしの仲介人♡サービスブローカー
Tsukasa Kato
JavaScriptトレンド総括(2014)
JavaScriptトレンド総括(2014)
VOYAGE GROUP
窓の中の箱の世界
窓の中の箱の世界
Tsukasa Kato
俺とKubernetes
俺とKubernetes
Masayuki KaToH
マイクロサービスとそれを支えるアーキテクチャー
マイクロサービスとそれを支えるアーキテクチャー
Tsukasa Kato
Getting Started GraalVM / GraalVM超入門 #jjug_ccc #ccc_c2
Getting Started GraalVM / GraalVM超入門 #jjug_ccc #ccc_c2
tamtam180
Getting Started GraalVM (再アップロード)
Getting Started GraalVM (再アップロード)
tamtam180
GitLab から GitHub + CircleCI に乗り換えてチーム運用を改善しつつある話
GitLab から GitHub + CircleCI に乗り換えてチーム運用を改善しつつある話
R S
Rocroにおけるgcp活用事例
Rocroにおけるgcp活用事例
Kishin Yagami
地味だけど劇的に便利になるGitHubリポジトリ設定あれこれ
地味だけど劇的に便利になるGitHubリポジトリ設定あれこれ
Kazumi IWANAGA
[DO13] 楽天のクラウドストレージ使いこなし術 Azure と OSS で少しずつ進めるレガシー脱却
[DO13] 楽天のクラウドストレージ使いこなし術 Azure と OSS で少しずつ進めるレガシー脱却
de:code 2017
GitHub Codespaces と Azure でつくる、エンタープライズレベルの開発環境
GitHub Codespaces と Azure でつくる、エンタープライズレベルの開発環境
Kazumi IWANAGA
Developers Summit 2023 9-D-1「もう悩まされない開発環境、プロジェクトで統一した環境をいつでもどこでも」
Developers Summit 2023 9-D-1「もう悩まされない開発環境、プロジェクトで統一した環境をいつでもどこでも」
Kazumi IWANAGA
社内の遊休PCをAzurePipelinesでCICDに活用しよう
社内の遊休PCをAzurePipelinesでCICDに活用しよう
Shinya Nakajima
Spring Boot の Web アプリケーションを Docker に載せて AWS ECS で動かしている話
Spring Boot の Web アプリケーションを Docker に載せて AWS ECS で動かしている話
JustSystems Corporation
[20190530]yahoo japan+kubernetes meetup "Rook v1.0で試すCSI"
[20190530]yahoo japan+kubernetes meetup "Rook v1.0で試すCSI"
t8kobayashi
cloudstack devcloud
cloudstack devcloud
Kimihiko Kitase
10
10
siburu
Introduction to GraalVM and Native Image
Introduction to GraalVM and Native Image
Koichi Sakata
Similar to Try micronaut
(20)
Micronaut on Azure 試してみた
Micronaut on Azure 試してみた
あなたとわたしの仲介人♡サービスブローカー
あなたとわたしの仲介人♡サービスブローカー
JavaScriptトレンド総括(2014)
JavaScriptトレンド総括(2014)
窓の中の箱の世界
窓の中の箱の世界
俺とKubernetes
俺とKubernetes
マイクロサービスとそれを支えるアーキテクチャー
マイクロサービスとそれを支えるアーキテクチャー
Getting Started GraalVM / GraalVM超入門 #jjug_ccc #ccc_c2
Getting Started GraalVM / GraalVM超入門 #jjug_ccc #ccc_c2
Getting Started GraalVM (再アップロード)
Getting Started GraalVM (再アップロード)
GitLab から GitHub + CircleCI に乗り換えてチーム運用を改善しつつある話
GitLab から GitHub + CircleCI に乗り換えてチーム運用を改善しつつある話
Rocroにおけるgcp活用事例
Rocroにおけるgcp活用事例
地味だけど劇的に便利になるGitHubリポジトリ設定あれこれ
地味だけど劇的に便利になるGitHubリポジトリ設定あれこれ
[DO13] 楽天のクラウドストレージ使いこなし術 Azure と OSS で少しずつ進めるレガシー脱却
[DO13] 楽天のクラウドストレージ使いこなし術 Azure と OSS で少しずつ進めるレガシー脱却
GitHub Codespaces と Azure でつくる、エンタープライズレベルの開発環境
GitHub Codespaces と Azure でつくる、エンタープライズレベルの開発環境
Developers Summit 2023 9-D-1「もう悩まされない開発環境、プロジェクトで統一した環境をいつでもどこでも」
Developers Summit 2023 9-D-1「もう悩まされない開発環境、プロジェクトで統一した環境をいつでもどこでも」
社内の遊休PCをAzurePipelinesでCICDに活用しよう
社内の遊休PCをAzurePipelinesでCICDに活用しよう
Spring Boot の Web アプリケーションを Docker に載せて AWS ECS で動かしている話
Spring Boot の Web アプリケーションを Docker に載せて AWS ECS で動かしている話
[20190530]yahoo japan+kubernetes meetup "Rook v1.0で試すCSI"
[20190530]yahoo japan+kubernetes meetup "Rook v1.0で試すCSI"
cloudstack devcloud
cloudstack devcloud
10
10
Introduction to GraalVM and Native Image
Introduction to GraalVM and Native Image
Recently uploaded
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
sugiuralab
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
Hiroshi Tomioka
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
FumieNakayama
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
UEHARA, Tetsutaro
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
FumieNakayama
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
Yuki Kikuchi
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
akihisamiyanaga1
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NTT DATA Technology & Innovation
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
博三 太田
Recently uploaded
(9)
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
Try micronaut
1.
Micronaut を試した 前多 (@kencharos) JJUG
CCC 2018 Spring Lightning Talk
2.
自己紹介 • 前多 @kencharos •
Java, Scala が好き • ここ半年は C#, node.js, Azure(PaaS全般, CosmosDB)
3.
今日の話 • 3日前に Micronaut
をGithub に公開したよ! というお知らせが来たので、予定を変更して試 してみました
4.
Micronaut http://micronaut.io/ • Grails を開発している
OCI 社による マイクロサービ スのためのフレームワーク • Grails の開発10年にわたる知見を活かした • Spring Boot からインスパイア • コンパイル時DI • 選べる言語 • Java, Kotlin, Groovy • 近日中に 1.0 リリース。 今年後半に GA予定
5.
Cloud Native クラウドで分散で動くことを前提とした機能 • 色々な設定方法 •
ファイル、環境変数、ConfigServerから • AWS, GCP, k8s, herokuなどの実行環境を自動認識、環境別 設定 • マイクロサービスライブラリと連携 • Service Discovery: Eureka, Consul, k8s • Client Side Loadbalancing: Netflix Ribbon • Distribute Tracing: Zipkin, jaeger • マネジメント・モニタリング用のエンドポイント • Spring Actuator 的なもの
6.
データアクセス • SQL (Datasouce) •
Hibernate • Redis • Mongo DB • Cassandra • Neo4J
7.
テストが楽 • 組み込みサーバー &
ApplicationContext • クライアントの自動生成 • 約束事が少ない @Test public void testExampleFunction() throws Exception { EmbeddedServer server = ApplicationContext.run(EmbeddedServer.class); ExampleFunctionClient client = server.getApplicationContext() .getBean(ExampleFunctionClient.class); assertEquals(client.example().blockingGet().message, "hello"); server.stop(); }
8.
サーバーアプリケーション • Spring MVC
のようにコントローラを作る • @Injectで DI できる • リアクティブも可(Reactive Extensions, Reactor) @Controller("/") @Validated public class HelloController { @Inject private HogeService service; @Get("/hello{?name}") public Single<String> hello(@NotBlank String name) { return Single.just(service.greeting(name)); } }
9.
サーバーの起動 • mainを書いて実行 • HTTP
サーバー基盤は Netty • 最小構成で起動時間は 4-5秒程度 • Single Jar のサイズは 12 MB public class Application { public static void main(String[] args) { Micronaut.run(Application.class); } }
10.
DI,AOP • 実装側のクラスに、アノテーションでDI,AOP設定 • DIはスコープアノテーションを設定(Singletonとか) •
Qualifier,Conditional, ファクトリメソッドなど、充実 • AOP 用のアノテーションは、バリデーション・リト ライ・サーキットブレーカー・スケジューラなど @Singleton public class HogeServiceImpl implements HogeService{ @Override public String greeting(String name) { return "Hello," + name; } }
11.
コンパイル時DI • (個人的に期待していた)コンパイル時に設定不備が あればコンパイルエラーにするものではない • Spring
同様、DI対象が無い場合は実行時エラー • コンパイル時にアノテーションプロセッサでDI用の コードを埋め込む • 起動時のコンポーネントスキャンとリフレクショ ンやプロキシが無くなり、 起動時間短縮・省メモリになる
12.
クライアント • インターフェースにアノテーション設定で実装 クラスはコンパイル時生成 • ベースURLは
ServiceDiscoveryから自動取得 • 外部サービスなら、完全URL指定 • サーバーのテスト用でも使う @Client("/") public interface HelloClient { @Get("/hello{?name}") Single<String> hello(@NotBlank String name); }
13.
Function型 アプリケーション • FaaS向けアプリケーションも定義可能 •
DIもできる • Nettyか AWS Lambdaにデプロイ可能 • Lambda向けだと Netty不要で、Jarは 8MBくらい @FunctionBean("example") public class ExampleFunction implements Supplier<Result> { @Inject HogeService service; @Override public Result get() { Result res = new Result(); res.message = "hello"; res.time = service.now(); return res; } }
14.
簡単なベンチマーク • Lambdaにデプロイした Micronaut
function を、 ローカルPCのMicronautサーバーから接続する • ローカルPCのgatlingで10秒間に500リクエスト
15.
結果(ローカル) • あまり遅延なし。平均224ms • もっと負荷かけてもよかった
16.
結果(Lambda) • 初回起動時は 8秒くらい •
起動後は 200-400ms くらい • 使用メモリ量は 90 MB 台で 落ち着く
17.
AWSに詳しい同僚に聞いてみた 私「Lambda の Java
で使用メモリ 90MB ってどう?」 彼「Java だと今までだと 128MB 以下にできなかった ので これはすごいかも」 私
18.
AWSに詳しい同僚に聞いてみた 彼「でもLambda のこれからの主役は Goですよ」 私
19.
まとめ • 軽量化した Spring
Boot という感じで、 Spring経験 者は理解しやすい • dockerや k8s で Java をやるならアリ • 高機能で効率の良いDIを再実装したあたり、本気 度を感じる • 現時点でだいぶ完成度は高いが、ドキュメントが 足りてなかったり、いくつかバグがあったので貢 献していきたい • 今回の作ったサンプル • https://github.com/kencharos/micronaout_sample
Editor's Notes
猫のアイコンでツイッターしてます。最近 Azure ばっかりで久しぶりに今回 Java書きました。
Spring Boot 2,0だと、 6秒くらいで、ファイルサイズは 16MB
Download now