為了推廣.Net Core,微軟為我們提供了一個開源Demo-eShopOnContainers,這是一個使用Net Core架構開發的,跨平台(幾乎涵蓋了所有平台,windows、mac、linux、android、ios)的,基于微服務架構的,運作在容器中的小型應用,其不僅展示了.Net Core的跨平台性,更展示了VS2017的強大,所有代碼都在VS2017下開發。從名字上可以看出,這是一個運作在容器上的電子店鋪應用,利用Docker的跨平台性,使我們可以“build once, run anywhere”。
功能和要求
讓我們先來回顧一下應用程式的功能和要求。EShopOnContainers 應用程式代表了一款線上商店,其中銷售各種實物産品,如 t 恤衫和咖啡杯子。如果你之前已購買過任何内容,則使用該商店的體驗應該比較熟悉。下面是應用商店實作的一些基本功能:
•列出目錄項•按類型篩選項目•按品牌篩選項目•将商品添加到購物籃•編輯或删除購物籃中的項•簽出•注冊帳戶•登入•登出•檢視訂單
架構
我們看下微軟提供給我們的架構圖

從左到右我們看到有2個虛線框,左邊是各個用戶端應用,右邊是假設在Docker上的web應用、微服務應用和資料庫。在Demo中,微軟根據不同功能分别搭建了多個service,而且在設計這幾個service的時候,微軟又使用了不同的方式來實作,如下圖所示:
以上是微軟在Demo中展示的四種services,你還可以使用不同的架構,不同的資料庫完成你的微服務搭建,這就是微服務為何如此流行的原因了。
源代碼
這套架構在Github上開源,
位址:
https://github.com/dotnet-architecture/eShopOnContainers