為了推廣.Net Core,微軟為我們提供了一個開源Demo-eShopOnContainers,這是一個使用Net Core框架開發(fā)的,跨平臺(幾乎涵蓋了所有平臺,windows、mac、linux、android、ios)的,基于微服務(wù)架構(gòu)的,運行在容器中的小型應(yīng)用。 從名字上可以看出,這是一個運行在容器上的電子店鋪應(yīng)用,利用Docker的跨平臺性,使我們可以“build once, run anywhere”。 簡介eShopOnContainers已更新為.NET 5技術(shù)浪潮。不僅有編譯,而且還有EF Core,ASP.NET Core和其他新的相關(guān)版本中的新推薦代碼,并進行了一些重大更改。 Demo實現(xiàn)了電商平臺的一些基本功能,如:列出商品目錄、 按類型過濾商品、按品牌過濾商品、將商品添加到購物車、編輯或刪除購物車中的物品、支付、注冊賬號、登錄、登出、訂單審核。 首頁:
![]() 架構(gòu)由于可以在Linux或Windows容器上運行(取決于您的Docker主機)的.NET 5服務(wù),以及在Android,iOS或Windows / UWP plus上運行的移動應(yīng)用程序的Xamarin,因此該參考應(yīng)用程序在服務(wù)器和客戶端都是跨平臺的客戶端Web應(yīng)用程序的任何瀏覽器。該架構(gòu)提出了一種面向微服務(wù)的架構(gòu)實現(xiàn),該實現(xiàn)具有多個自主微服務(wù)(每個微服務(wù)都擁有自己的數(shù)據(jù)/數(shù)據(jù)庫),并使用Http作為客戶端應(yīng)用之間的通信協(xié)議,在每個微服務(wù)內(nèi)實現(xiàn)不同的方法(簡單的CRUD與DDD / CQRS模式)。 在Demo中,微軟根據(jù)不同功能分別搭建了多個service,而且在設(shè)計這幾個service的時候,微軟又使用了不同的方式來實現(xiàn),如下圖所示: ![]() 以上是微軟在Demo中展示的四種services,你還可以使用不同的框架,不同的數(shù)據(jù)庫完成你的微服務(wù)搭建,這就是微服務(wù)為何如此流行的原因了。 Githubhttps://github.com/dotnet-architecture/eShopOnContainers
|
|