簡介
微軟官方提供了一個基於Docker和微服務的示例應用eShopOnContainers;它使用了面向服務的架構並且從服務端到客戶端都是跨平台的;該架構使用通過http作為客戶端與服務端直接的通信協議、多個微服務每個都有自己的db;另外主要使用的技術Docker、事件總線、DDD/CQRS、
開源項目地址:
https://github.com/dotnet-architecture/eShopOnContainers
1、項目總體設計
2、微服務
每個微服務都提供了一種實施方案:
Identity微服務:使用了IdentityServer4作Oauth架構,提供STS(安全令牌服務)
Catalog微服務:使用EF Core版
Ordering微服務:DDD設計模式
Bassket微服務:Redis的使用
3、項目使用
- (入門時推薦使用)打開eShopOnContainers-ServicesAndWebApps.sln,解決方案僅包含與微服務器和Web應用程序相關的服務器端項目。
- 打開eShopOnContainers-MobileApps.sln,僅提供客戶端移動應用程序項目(僅限Xamarin手機應用程序)。它也是基於mocks獨立工作的。
- 打開eShopOnContainers.sln以獲取包含所有項目(所有客戶端應用程序和服務)的解決方案。
錯誤解決
1、bower install --allow-root命令執行錯誤
解決辦法:右鍵項目——編輯csproj,去掉 <Exec Command="bower install --allow-root" />