狠狠撸

狠狠撸Share a Scribd company logo
Java EEを補完する仕様
MicroProfil
2017/12/19
GiassFish Uslrs Group Japan 勉強会 2017 Wintlr
上妻 宜人 (あげつま のりと)
#giassfsh_jp
上妻 宜人 (あげつま のりと)
●
SIlrにてJavaトラブルシューティングに従事
●
最近はEiasticスタックの導入支援
●
共著 パーフェクトJava EE
●
日本GiassFishユーザ会 運営メンバ
本日のテーマ
Java EEを補完する仕様 MicroProfile
よくある疑問
A. 名前だけは聞いたことがある、実態は謎。
B. 仕様だけ?実装はどこに?RIは?動かせる?
C. 非アクティブでJava EEと同じ運命...?
これらの疑问を解消していきましょう
MicroProfilとは
●
2016年 Eciipsl Foundation内にて発足
●
マイクロサービスを実現に有効な仕様を定義
●
Java EEと同様に仕様と実装(l.g. Payara, Wiidfy)を分離
●
コミュニティドリブン、迅速なリリースを重視
MicroProfilの主な参加メンバ
●
実装ベンダ
●
Payara Slrvicls (Payara Micro)
●
IBM (Opln Liblrty)
●
Rld Hat (WiidFiy Swarm)
●
Oracil (2017/11加入)
●
Tomitribl(TomEE), hazlicast, Fujitsu
●
ユーザコミュニティ
●
London Java Community, SouJava (Brazii)
MicroProfil 1.0 (2016/9)
●
Java EE 7のサブセットとしてスタート
●
この時点ではMicroProfilの独自機能はない
CDI 1.2 JAX-RS 2.0JSON-P 1.0
MicroProfil 1.1 (2017/7)
●
Java EE 7で一時期検討されていたConfg APIの追加
CDI 1.2 JAX-RS 2.0JSON-P 1.0
Confg 1.0
変更なし 新規追加
Confguration for MicroProfil
(Confg1.0)
@ApplicationScoped
public class Sample {
@Inject
@ConfigProperty(name=”dest.url”)
private String url;
外部定義のコンフィグをインジェクト
Confguration for MicroProfil
(Confg1.0)
@ApplicationScoped
public class Sample {
@Inject
@ConfigProperty(name=”dest.url”)
private String url;
インジェクション元の値の定義 (優先順)
1. クラスパス配下のMETA-INF/microprofil-confg.proplrtils
2. 環境変数 (l.g. ENV dlst.uri http://iocaihost:8080/api)
3. システムプロパティ (l.g. -Ddlst.uri=http://...)
●
できることはDlitaSpiklとほぼ同じ
●
Spring Cioud Confgのような、分散アプリ間の
コンフィグ集中管理のような機能は今のところない
Confguration for MicroProfil
(Confg1.0)
MicroProfil 1.2 (2017/10)
●
Java EE 7の検討テーマになかった新しい機能が追加
CDI 1.2 JAX-RS 2.0JSON-P 1.0
Confg 1.2 Fauit
Toilrancl1.0 Mltrics1.0
Hlaith
Chlck 1.0
変更なし 更新 新規追加
JWT
Proplrgation1.0
Fauit Toilrancl 1.0
●
分散サービスの耐障害性を向上させる機能
●
NltfixのHytrixやSpring Rltryを目指す
●
主な機能
●
リトライ @Retry(maxRetries=10)
●
サーキットブレーカー @CircuitBreaker
●
非同期処理 @Asynchronous
●
タイムアウト @Timeout(400) // 400ms
Fauit Toilrancl 1.0 - @CircuitBrlaklr
●
故障したサービスを呼び出さない仕組み
●
対向先のハングアップに巻き込まれない為
●
巻き込まれるとリクエストスレッドプールの枯渇など、
系全体に障害が伝搬する
●
従来のタイムアウトによる防御と異なる点
●
故障認定したら対向先を呼び出さないので応答が早い
●
タイムアウトとサーキットブレーカーは併用する
@ApplicationScoped
public class Sample {
@CircuitBreaker(
  requestVolumeThreshold = 4,failureRatio = 0.75,
delay = 1000, successThreshold = 10)
@Fallback(fallbackMethod=”getDefault”)
public void test() {...}
private String getDefault() {
}
Fauit Toilrancl 1.0 - @CircuitBrlaklr
SlrviclA SlrviclB
デフォルト
close
@ApplicationScoped
public class Sample {
@CircuitBreaker(
  requestVolumeThreshold = 4,failureRatio = 0.75,
delay = 1000, successThreshold = 10)
@Fallback(fallbackMethod=”getDefault”)
public void test() {...}
private String getDefault() {
}
Fauit Toilrancl 1.0 - @CircuitBrlaklr
連続した4回の実行(rlqulstVoiumlThrlshoid)の中で、
3回例外スローされたら(4 x 0.75 faiiurlRatio)、
ブレーカーを「オープン」にして@Faiibackを代わりに実行。
SlrviclA SlrviclB
異常時
open
@ApplicationScoped
public class Sample {
@CircuitBreaker(
  requestVolumeThreshold = 4,failureRatio = 0.75,
delay = 1000, successThreshold = 10)
@Fallback(fallbackMethod=”getDefault”)
public void test() {...}
private String getDefault() {
}
Fauit Toilrancl 1.0 - @CircuitBrlaklr
1000ミリ秒後(dliay)に「ハーフオープン」に推移して実行再開。
ハーフオープン状態では1回でも失敗したら「オープン」に戻る。
10回成功したら(succlssThrlashoid)に「クローズ」に推移。
SlrviclA SlrviclB
復旧後
close
Mltrics 1.0
●
JMX相当の監視をREST-API経由で提供
●
リモートJMXプロトコルはJava以外で扱いにくい為
●
REST-APIのパス、メトリクスの種類を標準化
●
URL /mltrics でメトリクス公開
●
スレッド数、GC時間?回数など
(JMXのデフォルト相当のメトリクス)
Mltrics 1.0 - フォーマット
●
json
{
"thread.count" : 33,
"thread.max.count" : 47,
"memory.maxHeap" : 3817863211,
"memory.usedHeap" : 16859081,
"memory.committedHeap" : 64703546
}
●
Promlthlus tlxt format
# HELP http_requests_total The total number of HTTP requests.
# TYPE http_requests_total counter
http_requests_total{method="post",code="200"} 1027 1395066363000
http_requests_total{method="post",code="400"} 3 1395066363000
(count) (timestamp)
Mltrics 1.0 - メトリクスの種類
●
実装が必須なメトリクス
●
URLは /mltrics/basl
●
ヒープ使用量、GC回数?時間、スレッド数
●
optionai: スレッドプールメトリクス、ロードアベレージ
●
ベンダ固有実装メトリクス
●
URLは /mltrics/vlndor
●
アプリケーション定義のメトリクス
●
URLは /mltrics/appiication
●
次ページで紹介
Mltrics 1.0 - アプリケーション定義
●
メトリクス定義の為のアノテーション一例
●
@Gaugl: ある時点でのサンプリング値 (l.g. CPU温度)
●
@Mltlr: 単位時間でレートが自動計算される値
(l.g. リクエスト数、レスポンスタイム)
public class MyApplicationMetrics {
@Gause(name=”queueSize”)
public int currentQueueSize() {
return queue.size;
}
@Meter(name=”requestCount”)
public long getRequestCount() {
return ...
}
}
{
"queueSize": 32
}
{
"requestCount":{
"count": 31421,
"oneMinRate": 31.214,
"fiveMinRate": 28.214,
"fifteenMinRate": 29.131
}
}
MicroProfil 1.3 (2017/12/22予定)
●
さらに新機能追加
CDI 1.2 JAX-RS 2.0JSON-P 1.0
Confg 1.2 Fauit
Toilrancl1.1 Mltrics1.1
Hlaith
Chlck 1.0
変更なし 更新 新規追加
JWT
Proplrgation1.0
Opln
Tracing 1.0
Opln API
1.0
Typl-safl
Rlst Ciilnt 1.0
OplnTracing1.0 (検討中)
●
MicroProfilアプリをOplnTracing実装と連携
●
Zipkin, Jalglr, Hawkuiar
●
JAX-RSでコードを書くと、コード修正しなくても、
トレースを自動送信する要件をMicroProfil実装に求める
●
OplnTracing仕様で定義済のものは再定義しない
●
トレースデータのフォーマット など
OplnTracing1.0 - Distributld Tracing
●
JAX-RSサーバのリクエスト受信時、
クライアントからのリクエスト送信時に処理時間を収集
●
あるリクエストの処理時間の流れを記録する
旅行手配
API
航空券予約
API
ホテル予約
API
クレジット
決済
ciilnt
zipkin
https://zipkin.io
zipkin-ui
OplnTracing1.0 - 機能
●
JAX-RSのサーバ?クライアントの自動トレース送信
●
アプリケーション修正なしで暗黙的トレース
●
@Tracldによる明示的なトレース取得範囲の指定
@ApplicationScoped
public class TravelService {
@Traced
public Reserved arrange(TravelRequest req) {}
OplnTracing1.0 - スコープ
●
仕様のスコープに含まないもの
●
zipkinのようなWlbユーザインタフェース
●
トレースデータのストレージ
●
OplnTracing1.0の目的はデータ収集機能の仕様化
●
収集したトレースデータはzipkinのようなサーバに送信
OplnAPI1.0(検討中)
●
REST-APIの仕様を定義する仕組み
(SOAPに対するWSDLのような位置づけ)
●
swagglr相当の機能
●
JAX-RSエンドポイントにアノテーションを付与すると、
OplnAPI v3に準拠したyami or 箩蝉辞苍を形式の础笔滨仕様を出力
OplnAPI1.0 - アノテーション
●
赤字がOplnAPI1.0のアノテーション
●
swagglrとは微妙にアノテーション名が違うので注意
@GET
@Path("/{id}")
@Operation(summary = "Get username by id")
@APIResponse(description = "The user name"),
@APIResponse(responseCode = "400", description = "User not found")
public Response getUserName(
@Parameter(description = "user id. ", required = true)
@PathParam("id") long id) {...}
Swagglr
(packagl io.swagglr.annotations)
MicroProfil OplnAPI
(packagl org.lciipsl.microprofil.oplnapi.annotations)
@ApiOperation @Operation
@ApiResponse @ApiResponse
@ApiParam @Parameter
OplnAPI1.0 - documlnt
●
OplnAPI v3準拠のyami or jsonを生成
●
GET http://iocaihost:8080/oplnapi
/user/{id}:
get:
summary: Get username by id
operationId: getUserName
parameters:
- name: id
in: path
description: 'user id'
required: true
schema:
type: long
responses:
default:
description: The user
400:
description: User not found
@Operation
(summary = "Get username by id")
@APIResponse
(description="The user name"),
@APIResponse
(responseCode="400", description = "User not found")
OplnAPI1.0 - スコープ
●
仕様のスコープに含まないもの
●
Swagglr UIのようなドキュメンテーションツール
●
Swagglr CodlGlnのようなクライアントコード自動生成
●
OplnAPI準拠のyami or json生成が仕様までが目的
●
周辺ツールは標準化の対象外
●
SwagglrとMicroProfil OplnAPIは競合でなく、共用する
MicroProfil 2.0 (2018年予定)
●
Java EE 8 対応
CDI 2.0 JAX-RS 2.1JSON-P 1.1
Confg 1.2 Fauit
Toilrancl1.1 Mltrics1.1
Hlaith
Chlck 1.0
変更なし 更新 新規追加
JWT
Proplrgation1.0
Opln
Tracing 1.0
Opln API
1.0
Typl-safl
Rlst Ciilnt 1.0
惭颈肠谤辞笔谤辞蹿颈濒の実装製品
MicroProfilの主な実装製品
●
Payara Micro
●
MicroProfil1.1 (1.2 in progrlss)
●
Opln Liblrty
●
MicroProfil1.2 (Confg, FauitToilrancl, Mltrics, Hlaith, JWT ..)
●
WiidFiy Swarm 2017.12.1
●
MicroProfil1.2
FAQ
EE4JとMicroProfilの関連は?
(EE4J: Java EEのEciipsl 贵辞耻苍诲补迟颈辞苍移管プロジェクト)
MicroProfilは元々Java EEの補完が目的。
将来的にEE4Jと統合の可能性を探っている。
EE4J wiii lvaiuatl potlntiai incorporation of
Eciipsl MicroProfil tlchnoiogils into thl piatform.
(引用: EE4J FAQ https://www.lciipsl.org/ll4j/faq.php#microprofil)
検討状況はアクティブなのか?
(一時期のJava EEのようになっていないのか)
アクティブ
Googil Groupに毎日何か投稿がある
https://groups.googil.com/forum/#!forum/microprofil
2017年7月以降は四半期ごとの仕様リリースを継続
MicroProfilの最新状況を
どこから確認できるか?
MicroProfilの関連ページ
●
Eciipsl Foundation MicroProfil wiki
●
https://wiki.lciipsl.org/MicroProfil
●
スペック文書やGitHubリポジトリのリンクなど
●
Googil Groups
●
https://groups.googil.com/forum/#!forum/microprofil
●
議論の最新状況
まとめ
まとめ
●
MicroProfilはJava EEを補完する仕様
●
実装製品も複数あり
●
Paraya Micro, OplnLiblry, WiidFiy Swarm
●
アクティブに検討中
MicroProfil実装製品を今すぐダウンロード
ご静聴ありがとうございました

More Related Content

What's hot (20)

Azure AD による Web API の 保護
Azure AD による Web API の 保護 Azure AD による Web API の 保護
Azure AD による Web API の 保護
junichi anno
?
顿辞肠办别谤と笔辞诲尘补苍の比较
顿辞肠办别谤と笔辞诲尘补苍の比较顿辞肠办别谤と笔辞诲尘补苍の比较
顿辞肠办别谤と笔辞诲尘补苍の比较
Akihiro Suda
?
9/14にリリースされたばかりの新LTS版Java 17、ここ3年間のJavaの変化を知ろう!(Open Source Conference 2021 O...
9/14にリリースされたばかりの新LTS版Java 17、ここ3年間のJavaの変化を知ろう!(Open Source Conference 2021 O...9/14にリリースされたばかりの新LTS版Java 17、ここ3年間のJavaの変化を知ろう!(Open Source Conference 2021 O...
9/14にリリースされたばかりの新LTS版Java 17、ここ3年間のJavaの変化を知ろう!(Open Source Conference 2021 O...
NTT DATA Technology & Innovation
?
マイクロにしすぎた结果がこれだよ!
マイクロにしすぎた结果がこれだよ!マイクロにしすぎた结果がこれだよ!
マイクロにしすぎた结果がこれだよ!
mosa siru
?
より速く より運用しやすく 進化し続けるJVM(Java Developers Summit Online 2023 発表資料)
より速く より運用しやすく 進化し続けるJVM(Java Developers Summit Online 2023 発表資料)より速く より運用しやすく 進化し続けるJVM(Java Developers Summit Online 2023 発表資料)
より速く より運用しやすく 進化し続けるJVM(Java Developers Summit Online 2023 発表資料)
NTT DATA Technology & Innovation
?
闯痴惭の骋颁アルゴリズムとチューニング
闯痴惭の骋颁アルゴリズムとチューニング闯痴惭の骋颁アルゴリズムとチューニング
闯痴惭の骋颁アルゴリズムとチューニング
佑哉 廣岡
?
クラウドコストを最适化せよ!マルチクラウド时代に届けるクラウド活用2.0
クラウドコストを最适化せよ!マルチクラウド时代に届けるクラウド活用2.0クラウドコストを最适化せよ!マルチクラウド时代に届けるクラウド活用2.0
クラウドコストを最适化せよ!マルチクラウド时代に届けるクラウド活用2.0
Tomohisa Koyanagi
?
Ingress on Azure Kubernetes Service
Ingress on Azure Kubernetes ServiceIngress on Azure Kubernetes Service
Ingress on Azure Kubernetes Service
Toru Makabe
?
Jakarta EE 9 と これから
Jakarta EE 9 と これからJakarta EE 9 と これから
Jakarta EE 9 と これから
Kenji Kazumura
?
Kubernetesでの性能解析 ~なんとなく遅いからの脱却~(Kubernetes Meetup Tokyo #33 発表資料)
Kubernetesでの性能解析 ~なんとなく遅いからの脱却~(Kubernetes Meetup Tokyo #33 発表資料)Kubernetesでの性能解析 ~なんとなく遅いからの脱却~(Kubernetes Meetup Tokyo #33 発表資料)
Kubernetesでの性能解析 ~なんとなく遅いからの脱却~(Kubernetes Meetup Tokyo #33 発表資料)
NTT DATA Technology & Innovation
?
【たぶん日本初導入!】Azure Stack Hub with GPUの性能と機能紹介
【たぶん日本初導入!】Azure Stack Hub with GPUの性能と機能紹介【たぶん日本初導入!】Azure Stack Hub with GPUの性能と機能紹介
【たぶん日本初導入!】Azure Stack Hub with GPUの性能と機能紹介
NTT Communications Technology Development
?
厂辫补苍苍别谤に関する技术メモ
厂辫补苍苍别谤に関する技术メモ厂辫补苍苍别谤に関する技术メモ
厂辫补苍苍别谤に関する技术メモ
Etsuji Nakai
?
噛み砕いてKafka Streams #kafkajp
噛み砕いてKafka Streams #kafkajp噛み砕いてKafka Streams #kafkajp
噛み砕いてKafka Streams #kafkajp
驰补丑辞辞!デベロッパーネットワーク
?
RLSを用いたマルチテナント実装 for Django
RLSを用いたマルチテナント実装 for DjangoRLSを用いたマルチテナント実装 for Django
RLSを用いたマルチテナント実装 for Django
Takayuki Shimizukawa
?
Azure Monitor Logで実現するモダンな管理手法
Azure Monitor Logで実現するモダンな管理手法Azure Monitor Logで実現するモダンな管理手法
Azure Monitor Logで実現するモダンな管理手法
Takeshi Fukuhara
?
Google Cloud ベストプラクティス:Google BigQuery 編 - 01 : BigQuery とは?
Google Cloud ベストプラクティス:Google BigQuery 編 - 01 : BigQuery とは?Google Cloud ベストプラクティス:Google BigQuery 編 - 01 : BigQuery とは?
Google Cloud ベストプラクティス:Google BigQuery 編 - 01 : BigQuery とは?
Google Cloud Platform - Japan
?
强いて言えば「集约どう実装するのかな、を考える」な话
强いて言えば「集约どう実装するのかな、を考える」な话强いて言えば「集约どう実装するのかな、を考える」な话
强いて言えば「集约どう実装するのかな、を考える」な话
Yoshitaka Kawashima
?
【BS4】時は来たれり。今こそ .NET 6 へ移行する時。
【BS4】時は来たれり。今こそ .NET 6 へ移行する時。 【BS4】時は来たれり。今こそ .NET 6 へ移行する時。
【BS4】時は来たれり。今こそ .NET 6 へ移行する時。
日本マイクロソフト株式会社
?
モノリスからマイクロサービスへの移行 ~ストラングラーパターンの検証~(Spring Fest 2020講演資料)
モノリスからマイクロサービスへの移行 ~ストラングラーパターンの検証~(Spring Fest 2020講演資料)モノリスからマイクロサービスへの移行 ~ストラングラーパターンの検証~(Spring Fest 2020講演資料)
モノリスからマイクロサービスへの移行 ~ストラングラーパターンの検証~(Spring Fest 2020講演資料)
NTT DATA Technology & Innovation
?
顿辞肠办别谤から肠辞苍迟补颈苍别谤诲への移行
顿辞肠办别谤から肠辞苍迟补颈苍别谤诲への移行顿辞肠办别谤から肠辞苍迟补颈苍别谤诲への移行
顿辞肠办别谤から肠辞苍迟补颈苍别谤诲への移行
Akihiro Suda
?
Azure AD による Web API の 保護
Azure AD による Web API の 保護 Azure AD による Web API の 保護
Azure AD による Web API の 保護
junichi anno
?
顿辞肠办别谤と笔辞诲尘补苍の比较
顿辞肠办别谤と笔辞诲尘补苍の比较顿辞肠办别谤と笔辞诲尘补苍の比较
顿辞肠办别谤と笔辞诲尘补苍の比较
Akihiro Suda
?
9/14にリリースされたばかりの新LTS版Java 17、ここ3年間のJavaの変化を知ろう!(Open Source Conference 2021 O...
9/14にリリースされたばかりの新LTS版Java 17、ここ3年間のJavaの変化を知ろう!(Open Source Conference 2021 O...9/14にリリースされたばかりの新LTS版Java 17、ここ3年間のJavaの変化を知ろう!(Open Source Conference 2021 O...
9/14にリリースされたばかりの新LTS版Java 17、ここ3年間のJavaの変化を知ろう!(Open Source Conference 2021 O...
NTT DATA Technology & Innovation
?
マイクロにしすぎた结果がこれだよ!
マイクロにしすぎた结果がこれだよ!マイクロにしすぎた结果がこれだよ!
マイクロにしすぎた结果がこれだよ!
mosa siru
?
より速く より運用しやすく 進化し続けるJVM(Java Developers Summit Online 2023 発表資料)
より速く より運用しやすく 進化し続けるJVM(Java Developers Summit Online 2023 発表資料)より速く より運用しやすく 進化し続けるJVM(Java Developers Summit Online 2023 発表資料)
より速く より運用しやすく 進化し続けるJVM(Java Developers Summit Online 2023 発表資料)
NTT DATA Technology & Innovation
?
闯痴惭の骋颁アルゴリズムとチューニング
闯痴惭の骋颁アルゴリズムとチューニング闯痴惭の骋颁アルゴリズムとチューニング
闯痴惭の骋颁アルゴリズムとチューニング
佑哉 廣岡
?
クラウドコストを最适化せよ!マルチクラウド时代に届けるクラウド活用2.0
クラウドコストを最适化せよ!マルチクラウド时代に届けるクラウド活用2.0クラウドコストを最适化せよ!マルチクラウド时代に届けるクラウド活用2.0
クラウドコストを最适化せよ!マルチクラウド时代に届けるクラウド活用2.0
Tomohisa Koyanagi
?
Ingress on Azure Kubernetes Service
Ingress on Azure Kubernetes ServiceIngress on Azure Kubernetes Service
Ingress on Azure Kubernetes Service
Toru Makabe
?
Jakarta EE 9 と これから
Jakarta EE 9 と これからJakarta EE 9 と これから
Jakarta EE 9 と これから
Kenji Kazumura
?
Kubernetesでの性能解析 ~なんとなく遅いからの脱却~(Kubernetes Meetup Tokyo #33 発表資料)
Kubernetesでの性能解析 ~なんとなく遅いからの脱却~(Kubernetes Meetup Tokyo #33 発表資料)Kubernetesでの性能解析 ~なんとなく遅いからの脱却~(Kubernetes Meetup Tokyo #33 発表資料)
Kubernetesでの性能解析 ~なんとなく遅いからの脱却~(Kubernetes Meetup Tokyo #33 発表資料)
NTT DATA Technology & Innovation
?
【たぶん日本初導入!】Azure Stack Hub with GPUの性能と機能紹介
【たぶん日本初導入!】Azure Stack Hub with GPUの性能と機能紹介【たぶん日本初導入!】Azure Stack Hub with GPUの性能と機能紹介
【たぶん日本初導入!】Azure Stack Hub with GPUの性能と機能紹介
NTT Communications Technology Development
?
厂辫补苍苍别谤に関する技术メモ
厂辫补苍苍别谤に関する技术メモ厂辫补苍苍别谤に関する技术メモ
厂辫补苍苍别谤に関する技术メモ
Etsuji Nakai
?
RLSを用いたマルチテナント実装 for Django
RLSを用いたマルチテナント実装 for DjangoRLSを用いたマルチテナント実装 for Django
RLSを用いたマルチテナント実装 for Django
Takayuki Shimizukawa
?
Azure Monitor Logで実現するモダンな管理手法
Azure Monitor Logで実現するモダンな管理手法Azure Monitor Logで実現するモダンな管理手法
Azure Monitor Logで実現するモダンな管理手法
Takeshi Fukuhara
?
Google Cloud ベストプラクティス:Google BigQuery 編 - 01 : BigQuery とは?
Google Cloud ベストプラクティス:Google BigQuery 編 - 01 : BigQuery とは?Google Cloud ベストプラクティス:Google BigQuery 編 - 01 : BigQuery とは?
Google Cloud ベストプラクティス:Google BigQuery 編 - 01 : BigQuery とは?
Google Cloud Platform - Japan
?
强いて言えば「集约どう実装するのかな、を考える」な话
强いて言えば「集约どう実装するのかな、を考える」な话强いて言えば「集约どう実装するのかな、を考える」な话
强いて言えば「集约どう実装するのかな、を考える」な话
Yoshitaka Kawashima
?
モノリスからマイクロサービスへの移行 ~ストラングラーパターンの検証~(Spring Fest 2020講演資料)
モノリスからマイクロサービスへの移行 ~ストラングラーパターンの検証~(Spring Fest 2020講演資料)モノリスからマイクロサービスへの移行 ~ストラングラーパターンの検証~(Spring Fest 2020講演資料)
モノリスからマイクロサービスへの移行 ~ストラングラーパターンの検証~(Spring Fest 2020講演資料)
NTT DATA Technology & Innovation
?
顿辞肠办别谤から肠辞苍迟补颈苍别谤诲への移行
顿辞肠办别谤から肠辞苍迟补颈苍别谤诲への移行顿辞肠办别谤から肠辞苍迟补颈苍别谤诲への移行
顿辞肠办别谤から肠辞苍迟补颈苍别谤诲への移行
Akihiro Suda
?

Similar to Java EEを補完する仕様 MicroProfile (20)

アドテク×厂肠补濒补×パフォーマンスチューニング
アドテク×厂肠补濒补×パフォーマンスチューニングアドテク×厂肠补濒补×パフォーマンスチューニング
アドテク×厂肠补濒补×パフォーマンスチューニング
Yosuke Mizutani
?
ISUCONの勝ち方 YAPC::Asia Tokyo 2015
ISUCONの勝ち方 YAPC::Asia Tokyo 2015ISUCONの勝ち方 YAPC::Asia Tokyo 2015
ISUCONの勝ち方 YAPC::Asia Tokyo 2015
Masahiro Nagano
?
罢别苍蝉辞谤贵濒辞飞をもう少し详しく入门
罢别苍蝉辞谤贵濒辞飞をもう少し详しく入门罢别苍蝉辞谤贵濒辞飞をもう少し详しく入门
罢别苍蝉辞谤贵濒辞飞をもう少し详しく入门
tak9029
?
CPU / GPU高速化セミナー!性能モデルの理論と実践:理論編
CPU / GPU高速化セミナー!性能モデルの理論と実践:理論編CPU / GPU高速化セミナー!性能モデルの理論と実践:理論編
CPU / GPU高速化セミナー!性能モデルの理論と実践:理論編
Fixstars Corporation
?
闯痴惭上でのストリーム処理エンジンの変迁
闯痴惭上でのストリーム処理エンジンの変迁闯痴惭上でのストリーム処理エンジンの変迁
闯痴惭上でのストリーム処理エンジンの変迁
Sotaro Kimura
?
HeapStats: Introduction and Technical Preview
HeapStats: Introduction and Technical PreviewHeapStats: Introduction and Technical Preview
HeapStats: Introduction and Technical Preview
Yuji Kubota
?
わんくま東京勉強会#46 Azureセッション資料
わんくま東京勉強会#46 Azureセッション資料わんくま東京勉強会#46 Azureセッション資料
わんくま東京勉強会#46 Azureセッション資料
guest628c07
?
わんくま東京勉強会#46 Azureセッション資料
わんくま東京勉強会#46 Azureセッション資料わんくま東京勉強会#46 Azureセッション資料
わんくま東京勉強会#46 Azureセッション資料
Shinichiro Isago
?
Metaspace
MetaspaceMetaspace
Metaspace
Yasumasa Suenaga
?
Cloud impact on IT industry (in Japanese)
Cloud impact on IT industry (in Japanese)Cloud impact on IT industry (in Japanese)
Cloud impact on IT industry (in Japanese)
shojiro-tanaka
?
オープンソース?データベースの最新事情
オープンソース?データベースの最新事情オープンソース?データベースの最新事情
オープンソース?データベースの最新事情
Meiji Kimura
?
わんくま同盟名古屋勉強会18回目 ASP.NET MVC3を利用したHTML5な画面開発~クラウドも有るよ!~
わんくま同盟名古屋勉強会18回目 ASP.NET MVC3を利用したHTML5な画面開発~クラウドも有るよ!~わんくま同盟名古屋勉強会18回目 ASP.NET MVC3を利用したHTML5な画面開発~クラウドも有るよ!~
わんくま同盟名古屋勉強会18回目 ASP.NET MVC3を利用したHTML5な画面開発~クラウドも有るよ!~
normalian
?
2014年を振り返る 今年の技術トレンドとDockerについて
2014年を振り返る 今年の技術トレンドとDockerについて2014年を振り返る 今年の技術トレンドとDockerについて
2014年を振り返る 今年の技術トレンドとDockerについて
Masahito Zembutsu
?
SeleniumE2Eテストフレームワークを使用したテスト自動化事例 #Seleniumjp
SeleniumE2Eテストフレームワークを使用したテスト自動化事例 #SeleniumjpSeleniumE2Eテストフレームワークを使用したテスト自動化事例 #Seleniumjp
SeleniumE2Eテストフレームワークを使用したテスト自動化事例 #Seleniumjp
驰补丑辞辞!デベロッパーネットワーク
?
AZAREA-Cluster (Hadoop Conference Japan 2013 Winter)
AZAREA-Cluster (Hadoop Conference Japan 2013 Winter)AZAREA-Cluster (Hadoop Conference Japan 2013 Winter)
AZAREA-Cluster (Hadoop Conference Japan 2013 Winter)
AzareaCluster
?
AlloyDB のデータ分析基盤での活用におけるポテンシャルとは?
AlloyDB のデータ分析基盤での活用におけるポテンシャルとは?AlloyDB のデータ分析基盤での活用におけるポテンシャルとは?
AlloyDB のデータ分析基盤での活用におけるポテンシャルとは?
Takuya Ogawa
?
Engine Yard - 商用マルチクラウドPaaS
Engine Yard - 商用マルチクラウドPaaSEngine Yard - 商用マルチクラウドPaaS
Engine Yard - 商用マルチクラウドPaaS
Takahiro Imanaka
?
JavaOne 2016 Java SE Feedback #jjug #j1jp
JavaOne 2016 Java SE Feedback #jjug #j1jpJavaOne 2016 Java SE Feedback #jjug #j1jp
JavaOne 2016 Java SE Feedback #jjug #j1jp
Yuji Kubota
?
アドテク×厂肠补濒补×パフォーマンスチューニング
アドテク×厂肠补濒补×パフォーマンスチューニングアドテク×厂肠补濒补×パフォーマンスチューニング
アドテク×厂肠补濒补×パフォーマンスチューニング
Yosuke Mizutani
?
ISUCONの勝ち方 YAPC::Asia Tokyo 2015
ISUCONの勝ち方 YAPC::Asia Tokyo 2015ISUCONの勝ち方 YAPC::Asia Tokyo 2015
ISUCONの勝ち方 YAPC::Asia Tokyo 2015
Masahiro Nagano
?
罢别苍蝉辞谤贵濒辞飞をもう少し详しく入门
罢别苍蝉辞谤贵濒辞飞をもう少し详しく入门罢别苍蝉辞谤贵濒辞飞をもう少し详しく入门
罢别苍蝉辞谤贵濒辞飞をもう少し详しく入门
tak9029
?
CPU / GPU高速化セミナー!性能モデルの理論と実践:理論編
CPU / GPU高速化セミナー!性能モデルの理論と実践:理論編CPU / GPU高速化セミナー!性能モデルの理論と実践:理論編
CPU / GPU高速化セミナー!性能モデルの理論と実践:理論編
Fixstars Corporation
?
闯痴惭上でのストリーム処理エンジンの変迁
闯痴惭上でのストリーム処理エンジンの変迁闯痴惭上でのストリーム処理エンジンの変迁
闯痴惭上でのストリーム処理エンジンの変迁
Sotaro Kimura
?
HeapStats: Introduction and Technical Preview
HeapStats: Introduction and Technical PreviewHeapStats: Introduction and Technical Preview
HeapStats: Introduction and Technical Preview
Yuji Kubota
?
わんくま東京勉強会#46 Azureセッション資料
わんくま東京勉強会#46 Azureセッション資料わんくま東京勉強会#46 Azureセッション資料
わんくま東京勉強会#46 Azureセッション資料
guest628c07
?
わんくま東京勉強会#46 Azureセッション資料
わんくま東京勉強会#46 Azureセッション資料わんくま東京勉強会#46 Azureセッション資料
わんくま東京勉強会#46 Azureセッション資料
Shinichiro Isago
?
Cloud impact on IT industry (in Japanese)
Cloud impact on IT industry (in Japanese)Cloud impact on IT industry (in Japanese)
Cloud impact on IT industry (in Japanese)
shojiro-tanaka
?
オープンソース?データベースの最新事情
オープンソース?データベースの最新事情オープンソース?データベースの最新事情
オープンソース?データベースの最新事情
Meiji Kimura
?
わんくま同盟名古屋勉強会18回目 ASP.NET MVC3を利用したHTML5な画面開発~クラウドも有るよ!~
わんくま同盟名古屋勉強会18回目 ASP.NET MVC3を利用したHTML5な画面開発~クラウドも有るよ!~わんくま同盟名古屋勉強会18回目 ASP.NET MVC3を利用したHTML5な画面開発~クラウドも有るよ!~
わんくま同盟名古屋勉強会18回目 ASP.NET MVC3を利用したHTML5な画面開発~クラウドも有るよ!~
normalian
?
2014年を振り返る 今年の技術トレンドとDockerについて
2014年を振り返る 今年の技術トレンドとDockerについて2014年を振り返る 今年の技術トレンドとDockerについて
2014年を振り返る 今年の技術トレンドとDockerについて
Masahito Zembutsu
?
AZAREA-Cluster (Hadoop Conference Japan 2013 Winter)
AZAREA-Cluster (Hadoop Conference Japan 2013 Winter)AZAREA-Cluster (Hadoop Conference Japan 2013 Winter)
AZAREA-Cluster (Hadoop Conference Japan 2013 Winter)
AzareaCluster
?
AlloyDB のデータ分析基盤での活用におけるポテンシャルとは?
AlloyDB のデータ分析基盤での活用におけるポテンシャルとは?AlloyDB のデータ分析基盤での活用におけるポテンシャルとは?
AlloyDB のデータ分析基盤での活用におけるポテンシャルとは?
Takuya Ogawa
?
Engine Yard - 商用マルチクラウドPaaS
Engine Yard - 商用マルチクラウドPaaSEngine Yard - 商用マルチクラウドPaaS
Engine Yard - 商用マルチクラウドPaaS
Takahiro Imanaka
?
JavaOne 2016 Java SE Feedback #jjug #j1jp
JavaOne 2016 Java SE Feedback #jjug #j1jpJavaOne 2016 Java SE Feedback #jjug #j1jp
JavaOne 2016 Java SE Feedback #jjug #j1jp
Yuji Kubota
?

More from Norito Agetsuma (16)

蚕耻补谤办耻蝉入门
蚕耻补谤办耻蝉入门蚕耻补谤办耻蝉入门
蚕耻补谤办耻蝉入门
Norito Agetsuma
?
CDI2.0アップデート&クックブック #JavaDayTokyo #jdt2016_4c
CDI2.0アップデート&クックブック #JavaDayTokyo #jdt2016_4cCDI2.0アップデート&クックブック #JavaDayTokyo #jdt2016_4c
CDI2.0アップデート&クックブック #JavaDayTokyo #jdt2016_4c
Norito Agetsuma
?
JavaOne2015報告会 Java EE アップデート #j1jp
JavaOne2015報告会 Java EE アップデート #j1jpJavaOne2015報告会 Java EE アップデート #j1jp
JavaOne2015報告会 Java EE アップデート #j1jp
Norito Agetsuma
?
Java EE ハ?フォーマンスTips #glassfish_jp
Java EE ハ?フォーマンスTips #glassfish_jpJava EE ハ?フォーマンスTips #glassfish_jp
Java EE ハ?フォーマンスTips #glassfish_jp
Norito Agetsuma
?
Jbatch実践入門 #jdt2015
Jbatch実践入門 #jdt2015Jbatch実践入門 #jdt2015
Jbatch実践入門 #jdt2015
Norito Agetsuma
?
Tomcatの実装から学ふ?クラスロータ?リーク #渋谷Java
Tomcatの実装から学ふ?クラスロータ?リーク #渋谷JavaTomcatの実装から学ふ?クラスロータ?リーク #渋谷Java
Tomcatの実装から学ふ?クラスロータ?リーク #渋谷Java
Norito Agetsuma
?
Java EE8 Report
Java EE8 ReportJava EE8 Report
Java EE8 Report
Norito Agetsuma
?
Javaトラブルに備えよう #jjug_ccc #ccc_h2
Javaトラブルに備えよう #jjug_ccc #ccc_h2Javaトラブルに備えよう #jjug_ccc #ccc_h2
Javaトラブルに備えよう #jjug_ccc #ccc_h2
Norito Agetsuma
?
Unixカーネルの設計 7 プロセスの制御
Unixカーネルの設計 7 プロセスの制御Unixカーネルの設計 7 プロセスの制御
Unixカーネルの設計 7 プロセスの制御
Norito Agetsuma
?
JJUG 11月ナイトセミナー CDIをはじめよう
JJUG 11月ナイトセミナー CDIをはじめようJJUG 11月ナイトセミナー CDIをはじめよう
JJUG 11月ナイトセミナー CDIをはじめよう
Norito Agetsuma
?
AeroGear & Java EE 7 で簡単プッシュ
AeroGear & Java EE 7 で簡単プッシュAeroGear & Java EE 7 で簡単プッシュ
AeroGear & Java EE 7 で簡単プッシュ
Norito Agetsuma
?
プロになるためのJavaScript入門読書会 レジュメ
プロになるためのJavaScript入門読書会 レジュメプロになるためのJavaScript入門読書会 レジュメ
プロになるためのJavaScript入門読書会 レジュメ
Norito Agetsuma
?
SQLアンチパターン読書会 レジュメ
SQLアンチパターン読書会 レジュメSQLアンチパターン読書会 レジュメ
SQLアンチパターン読書会 レジュメ
Norito Agetsuma
?
JSR 352 “Batch Applications for the Java Platform”
JSR 352 “Batch Applications for the Java Platform”JSR 352 “Batch Applications for the Java Platform”
JSR 352 “Batch Applications for the Java Platform”
Norito Agetsuma
?
Java Batch 仕様 (Public Review時点)
Java Batch 仕様 (Public Review時点) Java Batch 仕様 (Public Review時点)
Java Batch 仕様 (Public Review時点)
Norito Agetsuma
?
Lt agetsuma 拡大するcdi
Lt agetsuma 拡大するcdiLt agetsuma 拡大するcdi
Lt agetsuma 拡大するcdi
Norito Agetsuma
?
蚕耻补谤办耻蝉入门
蚕耻补谤办耻蝉入门蚕耻补谤办耻蝉入门
蚕耻补谤办耻蝉入门
Norito Agetsuma
?
CDI2.0アップデート&クックブック #JavaDayTokyo #jdt2016_4c
CDI2.0アップデート&クックブック #JavaDayTokyo #jdt2016_4cCDI2.0アップデート&クックブック #JavaDayTokyo #jdt2016_4c
CDI2.0アップデート&クックブック #JavaDayTokyo #jdt2016_4c
Norito Agetsuma
?
JavaOne2015報告会 Java EE アップデート #j1jp
JavaOne2015報告会 Java EE アップデート #j1jpJavaOne2015報告会 Java EE アップデート #j1jp
JavaOne2015報告会 Java EE アップデート #j1jp
Norito Agetsuma
?
Java EE ハ?フォーマンスTips #glassfish_jp
Java EE ハ?フォーマンスTips #glassfish_jpJava EE ハ?フォーマンスTips #glassfish_jp
Java EE ハ?フォーマンスTips #glassfish_jp
Norito Agetsuma
?
Jbatch実践入門 #jdt2015
Jbatch実践入門 #jdt2015Jbatch実践入門 #jdt2015
Jbatch実践入門 #jdt2015
Norito Agetsuma
?
Tomcatの実装から学ふ?クラスロータ?リーク #渋谷Java
Tomcatの実装から学ふ?クラスロータ?リーク #渋谷JavaTomcatの実装から学ふ?クラスロータ?リーク #渋谷Java
Tomcatの実装から学ふ?クラスロータ?リーク #渋谷Java
Norito Agetsuma
?
Javaトラブルに備えよう #jjug_ccc #ccc_h2
Javaトラブルに備えよう #jjug_ccc #ccc_h2Javaトラブルに備えよう #jjug_ccc #ccc_h2
Javaトラブルに備えよう #jjug_ccc #ccc_h2
Norito Agetsuma
?
Unixカーネルの設計 7 プロセスの制御
Unixカーネルの設計 7 プロセスの制御Unixカーネルの設計 7 プロセスの制御
Unixカーネルの設計 7 プロセスの制御
Norito Agetsuma
?
JJUG 11月ナイトセミナー CDIをはじめよう
JJUG 11月ナイトセミナー CDIをはじめようJJUG 11月ナイトセミナー CDIをはじめよう
JJUG 11月ナイトセミナー CDIをはじめよう
Norito Agetsuma
?
AeroGear & Java EE 7 で簡単プッシュ
AeroGear & Java EE 7 で簡単プッシュAeroGear & Java EE 7 で簡単プッシュ
AeroGear & Java EE 7 で簡単プッシュ
Norito Agetsuma
?
プロになるためのJavaScript入門読書会 レジュメ
プロになるためのJavaScript入門読書会 レジュメプロになるためのJavaScript入門読書会 レジュメ
プロになるためのJavaScript入門読書会 レジュメ
Norito Agetsuma
?
SQLアンチパターン読書会 レジュメ
SQLアンチパターン読書会 レジュメSQLアンチパターン読書会 レジュメ
SQLアンチパターン読書会 レジュメ
Norito Agetsuma
?
JSR 352 “Batch Applications for the Java Platform”
JSR 352 “Batch Applications for the Java Platform”JSR 352 “Batch Applications for the Java Platform”
JSR 352 “Batch Applications for the Java Platform”
Norito Agetsuma
?
Java Batch 仕様 (Public Review時点)
Java Batch 仕様 (Public Review時点) Java Batch 仕様 (Public Review時点)
Java Batch 仕様 (Public Review時点)
Norito Agetsuma
?
Lt agetsuma 拡大するcdi
Lt agetsuma 拡大するcdiLt agetsuma 拡大するcdi
Lt agetsuma 拡大するcdi
Norito Agetsuma
?

Java EEを補完する仕様 MicroProfile