ホームページ  >  記事  >  バックエンド開発  >  Microsoft マイクロサービス アーキテクチャ eShopOnContainers の分析

Microsoft マイクロサービス アーキテクチャ eShopOnContainers の分析

大家讲道理
大家讲道理オリジナル
2017-05-28 11:39:064254ブラウズ

.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

JS

2、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 サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。