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