2017-06-01 10 views
0

私の質問は、.NET WorldのアプリケーションアーキテクチャとContainersを参照しています。.NETサービスを実行している2つのドッキングノードは、お互いに話し合います。

私は地元の.NET Development Meetupに行きました。ここで、この男は、すべてのコンポーネントを別々の容器に収めるためにアプリケーションを再設計する方法を示しました。私はその考えが気に入っていて、コミュニケーション部分がどのようにすべてその中で活躍しているかを理解するために帰ってきました。

ここには何かが書かれています。各バブルはコンテナを表します。 App design with components moved to their separate containers

ここには100万ドルの質問があります。私のアプリはASP.NET MVC Web Appです。ビジネスロジックとデータアクセスレイヤーは、そのアプリケーションが参照するDLLです。それ以外の場合は、それぞれの依存層にRESTエンドポイントを作成します。 DLLが別のコンテナで実行され、コンテナ行全体で参照される可能性は他にありません。これを簡単に達成するために.NETが提供する方法/フレームワークはありますか?

+0

マイクロサービスは、通常、図に示すように設定されていません。代わりに、各サービスには、一般的に、個別の役割を果たすために必要なすべてのサービスが含まれています。このアーキテクチャーを宣伝したプレゼンテーションを見ただけで、アプリケーションに合ったものにはなりません。 – mason

+0

私は、ノード間で何らかのRPCを使用できると思います。その間にルータがあり、すべてのサービスが接続されています。 [WampSharp](https://github.com/Code-Sharp/WampSharp)を見てください。 –

+0

これで、いくつかのマイクロサービスをセットアップし、何らかの理由で基本的に何の理由もないような相互作用を設定する必要があります。 – Evk

答えて

1

あなたが正しいとすれば、コンポーネント間の会話には小さなREST-ApiまたはRPCを構築する必要があります。

しかし、私はあなたが細かい容器に行くと思います。 アプリケーションをフロントエンドレイヤーと考えると、HTMl/JS/CSSだけです。ビジネスレイヤーは標準的なCRUDの残りのAPIです。最後に、あなたのデータベースを1つのコンテナーに入れます。

MVCでは、App + BLコンテナとデータベースコンテナだけが必要です。 それ以上の場合は、独自のコンテナ内の複数のマイクロサービスでビジネスロジックを分割したい場合。

ただし、コンテナが必要な設定はほとんどなく、ソリューションでコンテナを使用する必要があるかどうかを調べるためにいくつかの調査を行う必要があります。いくつかのアプリがサーバーを共有し、システムレベルで干渉することがないように、コンテナーはアプリを分離するのに最適です。

関連する問題