简介
微软官方提供了一个基于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" />