ホームページ >バックエンド開発 >C#.Net チュートリアル >Microsoft マイクロサービス アーキテクチャ eShopOnContainers の分析
.Net Core を促進するために、Microsoft はオープンソースの Demo-eShopOnContainers を提供しています。これは Net Core フレームワーク を使用して開発され、クロスプラットフォームです (Windows、Mac、linux のほぼすべてのプラットフォームをカバーします) 、 Android、ios)、マイクロサービスアーキテクチャに基づく、コンテナ内で実行される小さなアプリケーション。これは、.Net Core のクロスプラットフォームの性質を示すだけでなく、すべてのコードが VS2017 の下で開発されることを示します。 VS2017。名前からわかるように、これはコンテナ上で実行される電子ストア アプリケーションです。Docker のクロスプラットフォームの性質を利用して、「一度構築すれば、どこでも実行できます」。
1. はじめに
eShopOnContainers は、マイクロサービス アーキテクチャと Docker コンテナに基づいたシンプルな .Net Core アプリケーションです。現在、マイクロサービス アーキテクチャが本格化しており、Docker 技術も急速に発展しているこの時期に Microsoft はこのデモを開始しました。このデモは本番環境に完全に適用することはできませんが、非常に優れています。私たち開発者にとって、学習教材は、わずかな変更を加える場合でも、アーキテクチャを再開発に使用する場合でも、このようなデモを学習することが非常に必要です。これは、以前に BlogEngine.Net を学習したことを思い出させます。
2. アーキテクチャ
Microsoft から提供されたアーキテクチャ図を見てみましょう
左から右に 2 つの点線のボックスが表示されます。左は各クライアント アプリケーション、右は想定される Web です。 Docker アプリケーション、マイクロサービス アプリケーション、データベース上にあります。
デモでは、Microsoft はさまざまな機能に従って複数のサービスを構築し、これらのサービスを設計する際、Microsoft は以下の図に示すように、さまざまな方法を使用してそれらを実装しました:
上記は Microsoft です。表示されている 4 つのサービスについてデモでは、さまざまなフレームワークやさまざまなデータベースを使用してマイクロサービスを構築することもできます。これが、マイクロサービスが非常に人気がある理由です。呼び出し側が使用する言語やシステムに関係なく、任意の言語とデータベースを使用してサービスを構築できます。
3. ソース コード
このアーキテクチャは、Github 上のオープンソースです。アドレス: https://github.com/dotnet-architecture/eShopOnContainers
git:
を通じてソース コードを複製できます。
その中に 3 つの sln があることがわかります。vs2017 をインストールする場合は、eShopOnContainers.sln を開くことができますが、通常は、まだ eShopOnContainers-ServicesAndWebApps.sln を開きます。問題を解決するために。
Web アプリとサービス アプリがソリューションでカバーされており、チュートリアルもこのソリューションに基づいていることがわかります。
4. 必要な環境:
私たちのアプリケーションはクロスプラットフォームであり、Docker をサポートするあらゆるオペレーティング システムで実行できると前に言いましたが、
デバッグを開発する場合は、デバッグするための対応する環境が必要です。デバッグには iisexpress も使用できます) 1. 64 ビット Windows 10 Pro
2. Hyper-V (Microsoft の仮想マシン) をオンにします
3. Win10 バージョンより前の場合は、
Docker Toolbox はインストールできますが、VS2017 を使用して Docker をデバッグすることはできません。また、実行時にエラーが報告されます。このチュートリアルでは、表示を改善するためにコンピューターを Win10 にアップグレードすることにしました。 以前のシステムでデバッグおよび実行したい場合は、Docker Toolbox のインストールに加えて、以下もインストールする必要があります:
1、Node
JS2、BowerDocker for Windows は win10 またはserver 2016 コンテナには Linux コンテナと Windows コンテナの 2 種類があります。ここでは Linux コンテナ (デフォルト) のみを使用します。このチュートリアルはサービスと WebApp のみを対象としています。Microsoft では、Docker が使用するメモリを 4096M (4G) および CPU 3 に設定することを推奨しています。フル バージョン (モバイル クライアントを含む) を実行したい場合は、Dockere 用に 16G メモリを構成する必要があります。
私の個人的な提案は、データベース専用のマシンを用意した方がよいということです。そうでない場合、mssql-linux-sql Docker には 4G のメモリが必要です。また、言うまでもなく、
redisも構築する必要があります。
学習するときは、デバッグに Docker を使用する必要はありません。どの方法を使用するかは関係ありません。重要なのは学習することです。
5. 学習手順:
この一連の説明は、ServicesAndWebApps.sln コードに基づいています。まずマイクロサービスから学習し、次に Web パーツのコード構造を見ていきます。おおよその順序は次のとおりです:
1、Identity Service
2、Catalog Service
3、Ordering Service
4、Basket Service
5、WebApp Mvc
6、WebSPA
私は少し前まで忙しかったのですが、.Net Core の開発に細心の注意を払ってきました。前回のビルダー カンファレンスでの 2.0 の見事なデビューを見て、Microsoft は惜しまないだろうと完全に確信しました。 .Net の開発に尽力してきましたが、私も 10 年間待ち続けた世界中の .Net 開発者に敬意を表したいと思います。
なぜこのアーキテクチャを選んだのですか? それは Microsoft によって書かれたものであり、教育上の重要性が非常に高いためです。さらに、現在の会社はサービスに基づいています (まだ到達していません)。マイクロサービスの概念)、デプロイ、開発、保守、拡張には不便なことがたくさんあるので、この学習は私にとって非常に重要です。
最初の記事はもう少しナンセンスです。後で、コードとアーキテクチャとデザインパターンについて説明します。皆さんも購読してください。最後に、これがレンダリングです
以上がMicrosoft マイクロサービス アーキテクチャ eShopOnContainers の分析の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。