マイクロサービスアプリケーションのAngularJSフロントエンドを作成する


9

私が作成したいMicroservicesすべてのmicroserviceは、フロントエンドの独自の一部を担当しているアプリケーションを、。同時に、AngularJSでフロントエンドをシングルページアプリケーション(SPA)として作成したいと考えています。新しいマイクロサービスがデプロイされると、Webフロントエンドは自動的に新しいフロントエンド部分を取得してSPAに追加します。これを実現する最良の方法は何でしょうか?

これが私が思いついたものです。各マイクロサービスは、独自のAngularモジュールを担当できます。次に、顧客がアプリケーションに移動すると、サーバーコンポーネント(ASP.NETまたはJSP)は、どのマイクロサービスがオンラインであるかを確認し、それらのマイクロサービスからの角度モジュールを含むHTMLページを作成できます。

フロントエンドコンポーネントが実行できることは、管理者やVIPの顧客など、拡張された特権を持つ特定の顧客に対していくつかのマイクロサービスを有効にすることです。

もちろん、これが機能するためには、各マイクロサービスが画面上に他のマイクロサービスが何であるかを「知る」ことなく、画面の一部を占めるための優れた構造化された方法が必要です。簡単な解決策は、マイクロサービスごとにタブを作成することです。タブでは、担当のマイクロサービスがその機能をページに配置できます。フロントエンドコンポーネントは、(角度)ルーティングやルックアンドフィールなどの一般的な要素を担当します。

これはこの目標を実現する最良の方法ですか?誰もがこれで経験がありますか?


いいですね、私はそれを試していませんが、それが進むべき道だと聞きました。フロントエンドとサービスを分割しすぎないように注意してください。それがどのように機能するか教えてください、私はあなたから返事を聞きたいです:)
VsMaX 2016年

@nicojsは、このシナリオで採用した実装を知りたいと思っています
Rakesh Sankar

回答:


3

免責事項:私はマイクロサービスアーキテクチャでアプリケーションを構築していません。ここでは単に直感を使用しており、私が考えていることはほとんど常識です。

これをフロントエンドで管理しようとするのはやり過ぎだと思います。単一ページアプリケーションのバックエンドを構築することをお勧めします。これは、どのマイクロサービスが利用可能であるか(または、あなたが述べたようなユーザー資格情報をチェックするか、サービスがメンテナンスのため停止しているなど)を認識していて、すべてを調整します。 。これをアプリケーションレイヤーと呼び、すべてを接着し、さまざまなマイクロサービスにアクセスするためのファサードとして機能します。

SPAは、マイクロサービスからデータを取得していることを認識する必要はありません。間違いなく、適切なサービスにクエリをディスパッチする単一のエントリポイントからデータを要求する必要があります。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.