Web アプリケーションがマイクロサービスに分岐するポイントについて混乱しています。それは URL レベルですか、それともモデル レベルですか? 例として、3 つのページを提供するモノリシック アプリがあるとします。各ページが個別のユースケースを提供していて、それぞれのページを独自のマイクロサービスでサポートしたいとします。マイクロサービスベースのアーキテクチャを実装する正しい方法は次のうちどれですか。
- 3 つの異なるアプリ (マイクロサービス) を作成し、それぞれにページの 1 つの (ルート、コントローラー、モデル、テンプレート) が含まれています。そして、リクエストされたページに基づいて、リクエストをその特定のアプリにルーティングします。これは、データベースから HTML までのページ全体が別のアプリによって提供されることを意味します。基本的に、同じ Web サイトのさまざまなページは、バックエンドのさまざまなアプリによって完全に提供されています。
- 3 つのマイクロサービスは UI を処理せず、ユースケース (モデル、コントローラー、テンプレートなし) のデータのみを処理し、REST API を介して公開します。私は公開アプリを 1 つ持っています。このアプリは、3 つの異なるアプリ (マイクロサービス) に対してデータのみを照会し、ブラウザーに返される html ページを構築します。この場合の Web アプリ内のすべてのページは、内部で 3 つの異なるマイクロサービスを利用する単一のアプリによって提供されています。