2017-08-11 8 views
2

エッジサービスのルーティングとすべての要求を個々のサービスにロードバランシングする、複数のサービスから構成されるアプリケーションがあります。Angular4マイクロフロントエンド

バックエンドのREST APIは、各サーバー上で問題なく展開され、私たちは、このバックエンドのREST APIと連携して開発されたモジュールへのルートを参照する1つのAngular4アプリケーションを持っています。我々はサービスの新バージョンをリリースした場合

、私たちはバックエンドを展開し、エッジサーバーは、新しいバージョンへのルートに開始します。

問題は、特定のモジュールが更新されましたので、我々は常に、フルAngular4アプリケーションを置き換えるために、エッジサーバを再デプロイする必要があり、ということです。

私たちはユーザーangi-cliであり、自動的にWebpackバンドルを生成(ハッシュ)します。すべてのサービスモジュールは、メインアプリケーションでnpm依存関係として宣言され、1つとしてバンドルされます。

メインアプリケーションで外部バンドルを参照し、ルーティングが正常に動作するように、Angular4アプリケーションとサービスモジュールをビルド、パッケージ化、デプロイするにはどうすればよいですか?

ありがとうございます。

PS:バックエンドサービスとエッジサーバーは、Netflix OSSを使用するSpring Cloudアプリケーションです。

+0

あなたはハッシュとDONOT心配がそれらをしたいですか。 –

+0

これは私の懸念事項ではありません(これはキャッシュを制御するために必要なものです)、私の懸念は次のとおりです。モジュールがブートストラップにロードされる必要があることを理解しました。モジュールが別々のサーバーで定義されている場合、どうすればいいですか? –

+0

複数の角度4のアプリケーションを作成すると、ルートに問題が発生する可能性があります。バンドルのサイズが問題になる場合は、別のモジュールを遅延ロードしようとする必要があります。 – Kay

答えて

1

角度-CLI 1.6意志コードは、理論的には、独立して展開することができ、別のチャンクにあなたのレイジーロードされた機能モジュールを分割します。 ng build。これは、フィーチャモジュールを遅延ロードする場合にのみ機能することに注意してください。

代わりのソリューションは、マイクロフロントエンドアーキテクチャです。アイデアはそれであるが、それはまだ探検する価値ある幼児期:

https://medium.com/@tomsoderlund/micro-frontends-a-microservice-approach-to-front-end-web-development-f325ebdadc16

https://micro-frontends.org/

+0

それは私の印象でした。私はマイクロフロントエンドを使いたかったのですが、まだ準備が整っていませんでした。ありがとう。 –