基于容器与微服务架构的Web应用示例eShopOnContainers

时间:2023-03-08 22:55:21
基于容器与微服务架构的Web应用示例eShopOnContainers

简介

微软官方提供了一个基于Docker和微服务的示例应用eShopOnContainers;它使用了面向服务的架构并且从服务端到客户端都是跨平台的;该架构使用通过http作为客户端与服务端直接的通信协议、多个微服务每个都有自己的db;另外主要使用的技术Docker、事件总线、DDD/CQRS、

开源项目地址:

https://github.com/dotnet-architecture/eShopOnContainers

1、项目总体设计

基于容器与微服务架构的Web应用示例eShopOnContainers

2、微服务

每个微服务都提供了一种实施方案:

Identity微服务:使用了IdentityServer4作Oauth架构,提供STS(安全令牌服务)

Catalog微服务:使用EF Core版

Ordering微服务:DDD设计模式

Bassket微服务:Redis的使用

基于容器与微服务架构的Web应用示例eShopOnContainers

3、项目使用

  • 入门时推荐使用)打开eShopOnContainers-ServicesAndWebApps.sln,解决方案仅包含与微服务器和Web应用程序相关的服务器端项目。
  • 打开eShopOnContainers-MobileApps.sln,仅提供客户端移动应用程序项目(仅限Xamarin手机应用程序)。它也是基于mocks独立工作的。
  • 打开eShopOnContainers.sln以获取包含所有项目(所有客户端应用程序和服务)的解决方案。

基于容器与微服务架构的Web应用示例eShopOnContainers

错误解决

1、bower install --allow-root命令执行错误

解决办法:右键项目——编辑csproj,去掉 <Exec Command="bower install --allow-root" />

https://*.com/questions/25432336/visual-studio-online-msbuild-fails-when-doing-bower-install