マイクロサービスフレームワークLagomの最新バージョンには、Akka Management、Akka対応アプリケーションを操作するツールセット、KubernetesまたはOpenShiftへのデプロイサポートが付属する。先日リリースされたバージョン1.5は、Play 2.7.0、Alpakka Kafka 1.0、Akka 2.5.22をベースに、CouchbaseとAkka gRPCによるgRPCサポートが加えられている。
新しいAkka Managementツールを使用すれば、専用のHTTPエンドポイント経由で、Akka Actor Systemの状態をリモート検査することが可能になる。Lagomはデフォルトで、ヘルスチェック用に、エンドポイントにいくつかのルートを追加する。
新たなツーリングによって、シードノード(seed node)の静的リストの使用に代えて、環境内の既存のノードを検出するAkka Cluster Bootstrapを導入することも可能になった。Akkaチームでは、よりシンプルで堅牢であるという理由から、新たなCluster Bootstrapへの移行を推奨している。
新バージョンでは、フリクションの増大とデプロイの柔軟性の低下を理由として、Lightbend Orchestrationのサポートが削除された。デプロイメントの自動処理は将来的になくなる予定であるため、手動で行うことが推奨されている。OpenShiftまたはKubernetes環境をターゲットにしたデプロイメントのために、チームは、Lightbendアプリケーションをデプロイする方法についてのガイドを用意した。
より多くの選択肢を開発者に提供するため、既存のHTTP/JSONベースのトランスポートに加えて、クロスサービスgRPC通信のインキュベーション(テスト未完了のため、機能が制限されている可能性がある)のサポートが導入される。gRPCではHTTP/2が必須だが、これはすでにLagomによってサポートされている。
もうひとつのインキュベーション機能はCouchbaseのサポートだ。これはAkka Persistence Couchbaseモジュールを通して、永続エンティティ(DDD用語ではAggregateルート)と読み込み側プロセッサ(読み込みモデルを担当)のための、新たな選択肢となる。Lagomではすでに、Cassandra、PostgreSQL、MySQL、Oracle、H2をサポートしている。
その他の改良点としては、
- 開発モードとテストの両方で、フレームワークが提供する自己署名証明書により、TLSの基本部分をサポート
- ルータの追加により、サービスが公開する経路の拡張が可能
- Java 11の初期サポート
Lagom 1.4から1.5に移行するためのガイドが提供されている。それ以前のバージョンから移行する場合は、1.5に移行する前に、まず最新バージョンである1.4にアップグレードすることが推奨されている。
アップデート版である1.5.1もリリースされた。Akkaのサービスディスカバリに基づく、新たなサービスロケータの実装が追加されている。1.5で削除されたLightbend Orchestrationのロケータに代わるものだ。
Lagomは、AkkaとPlayをベースとする、JavaおよびScala用のオープンソースのマイクロサービスフレームワークで、特にCQRSとEvent Sourcingを基本概念としたリアクティブアプリケーション向けに設計されている。
Lagomの最初のリリース時に行った、Akkaを開発したLightomnd CTOのJonasBonér氏とのインタビューの中で、氏は、公開されているマイクロサービスフレームワークのほとんどは、個々のマイクロサービスを簡単に構築することに主眼を置いている、と主張した — これは簡単だ。Lagomはそれを、マイクロサービスのシステム、大規模システムに拡張している — 分散システムの複雑性に直面するため、これは難しい部分なのだ。