[和訳] ビデオシリーズ: 開発者向けJavaアプリのモダナイゼーション パート3 #docker
この記事は1年以上前に投稿されました。情報が古い可能性がありますので、ご注意ください。
本稿は VIDEO SERIES: MODERNIZING JAVA APPS FOR DEVELOPERS PART 3 (2018/3/26) の和訳です。
モノリシックなアプリケーションの最新のクラウドアーキテクチャへの移行は困難なことがあり、しばしば未開の土地を切り開くような労力を強いられます。しかし、Docker Enterprise Edition(Docker EE)を使用するとコード変更無しで、クラウドアーキテクチャに移行できます。その結果、選択肢、セキュリティ、操作性が向上できるのです。
シリーズのパート3からモダナイゼーションプロセスを始めます。現状のアプリケーションのひとつの側面を取り上げ、マイクロサービスに分解します。書いた通り、このアプリケーションはデータベースに直接書き込んでいます。しかしデータベースに直接書き込むと、多数の要求によってアプリケーションが簡単に参ってしまいます。
ひとつの解決策は、メッセージキューを実装することです。パート2と同様に、ガイドラインに従います:
- 既存のコードをそのまま残す
- 新しいコードは別個の再利用可能なアプリケーションとして設計する
- Docker EEを使用してマイクロサービスをローカルにデプロイする
- コードをテストする
モダナイズプロセスのこの部分では、Redisデータベースに書き込むRESTインターフェイスを構成するメッセージキューを追加します。データベースへの書き込みを行うワーカーサービスが要求するまで、Redisにユーザーデータを保持します。メッセージキューは、Spring Bootを使用して、RESTインタフェースとRedisデータベース機能の両方を実装します。私はRedisを選択しました。なぜなら、継続的なポーリングを行わずにデータを取得し、効率的なメッセージキューを作成する方法があるからです。
開発者向けDockerソリューションの詳細については、以下を参照してください: