Eclipse Foundationは、5つのAPIをアップデートしたMicroProfile 3.3をリリースした。
その他の改善点としては、仕様書とドキュメントの明確化と強化、すべての MicroProfile API 間の統合の改善、異なる MicroProfile 実装間の相互運用性、各 API のための完全な成果物のセットなどがある。
一貫性と再利用の容易さのための JSR 339 に基づいて、MicroProfile Rest Client API は、クライアントとサービス間の通信を取り扱う HTTP 上の RESTful サービスを呼び出すための型安全なアプローチを提供する。Rest ClientはHTTP接続を行い、リモートサービスが処理できるようにオブジェクトをシリアライズする。バージョン 1.4 の新機能には、TCK の更新、仕様とドキュメントの強化、 ClientHeadersFactory
インターフェイスへの適切な CDI と JAX-RS の注入、サービスプロバイダのインターフェイスとアノテーションの改善が行われた。
MicroProfile Config API は、アプリケーションの再パッケージを最小限に抑えるために、外部ソースからランタイム設定を提供する。優先度ベースの順序システムに基づいて、これらのソースには次のものが含まれる:システムプロパティ(順序 = 400)、環境変数(順序 = 300)、および .properties
ファイル (順序 = 100) 。優先権は、定義された最も高い順序に与えられる。カスタムソースは ConfigSource
インターフェースを実装することによって定義される。バージョン 1.4 の新機能には、クラスローディングのバグ修正や Converter
インターフェイスに新しい組み込みコンバータを追加し、仕様とドキュメントを強化した。
MicroProfile Fault Tolerance API は、アプリケーション内の障害に対応するため多くの戦略(タイムアウト、リトライ、サーキットブレーカーなど)を提供する。これらの戦略にはそれぞれ対応するアノテーションがあり、これを適用すると、障害の悪影響を最小限に抑えるために必要な行動指針をアプリケーションに指示する。バージョン2.1の新機能には、機能改善のための新しいメソッド、TCKへの設定可能なテスト、および Future
そして CompletionStage
インターフェイスの実装要件の緩和が含まれる。
MicroProfile Metrics API は、MicroProfile アプリケーション用の時系列に遠隔で測定したデータを提供する。組み込みの /metrics
エンドポイントはプロメテウス形式でデータを送信する。カスタムメトリクスは、 @Counted
, @Gauge
, @Histogram
そして @Timed
と言った組み込みアノテーションを介して定義できる。バージョン2.3の新機能には、新しいメトリクス、@SimpleTimed
に伴って呼び出されるSimpleTimer
、機能向上のための新しいメソッド、MicroProfile Config を実装しなくてもメトリクスを使用できるようにすることが含まれる。
MicroProfile Health API は、コンピューティング・ノードが終了またはシャットダウンの瀬戸際にあるかどうかを判断し、そのノードを新しい健全なインスタンスに置き換える。メトリクス API と同様に /health
エンドポイントは、アプリケーションの稼働情報をJSON形式で表示するために自動的に提供される。バージョン2.2の新機能には、APIとTCKの改善、CDI 2.0との相互運用性が含まれている。
はじめに
Spring InitialzrやQuarkusのWebベースのスターターページと同様に、MicroProfileのスターターページは、開発者がクラウドベースのマイクロサービスアプリケーションを書き始めるための比較的新しいツールだ。2019年1月にリリースされたMicroProfile Starterは、MicroProfileとJava SEのバージョン、選択したMicroProfileのバージョンに基づいてサポートされるランタイム、および希望するMicroProfile APIを選択するための一連のチェックボックスなど、選択したオプションに基づいて完全なMavenプロジェクトを生成する。
MicroProfile 4.0への道
2020年6月にリリース予定のMicroProfile 4.0は、以下のアップデートされたAPIを搭載して出荷さるだろう。
- Config 2.0
- Fault Tolerance 3.0
- Health Check 3.0
- JWT Propagation 1.2
- Metrics 3.0
- OpenAPI 2.0
- Rest Client 2.0
- OpenTracing 2.0
OpenTelemetryを形成した OpenTracing プロジェクトと OpenCensus プロジェクトの最近の合併により、MicroProfile の貢献者はOpenTracing API を削除して新しい OpenTelemetry API を採用することを検討しているが、MicroProfile 4.0 のリリースでこれが実現するかどうかは現時点では不明だ。
資料
- Roberto Cortez氏によるMicroProfile構成のカスタムConfigSource(2019年2月4日
- baeldungによるOpen Liberty入門(2020年3月6日)