简介

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

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

基于容器与微服务架构的Web应用示例eShopOnContainers的更多相关文章

  1. 基于 Docker 的微服务架构实践

    本文来自作者 未闻 在 GitChat 分享的{基于 Docker 的微服务架构实践} 前言 基于 Docker 的容器技术是在2015年的时候开始接触的,两年多的时间,作为一名 Docker 的 D ...

  2. 基于netty的微服务架构

    基于netty的微服务架构 微服务一篇好文章 http://san-yun.iteye.com/blog/1693759 教程 http://udn.yyuap.com/doc/essential-n ...

  3. 《Spring Cloud构建微服务架构》系列博文示例

    SpringCloud-Learning   源码下载地址:http://download.csdn.net/detail/k21325/9650968     本项目内容为Spring Cloud教 ...

  4. iUAP云运维平台v3.0全面支持基于K8s的微服务架构

    什么是微服务架构? 微服务(MicroServices)架构是当前互联网业界的一个技术热点,业内各公司也都纷纷开展微服务化体系建设.微服务架构的本质,是用一些功能比较明确.业务比较精练的服务去解决更大 ...

  5. 用友iuap云运维平台支持基于K8s的微服务架构

    什么是微服务架构? 微服务(MicroServices)架构是当前互联网业界的一个技术热点,业内各公司也都纷纷开展微服务化体系建设.微服务架构的本质,是用一些功能比较明确.业务比较精练的服务去解决更大 ...

  6. 基于.net的微服务架构的开发测试环境运维实践

    眼下,做互联网应用,最火的架构是微服务,最热的研发管理就是DevOps, 没有之一.微服务.DevOps已经被大量应用,它们已经像传说中的那样,可以无所不能.特来电云平台,通过近两年多的实践,发现完全 ...

  7. 基于.net的微服务架构下的开发测试环境运维实践

    眼下,做互联网应用,最火的架构是微服务,最热的研发管理就是DevOps, 没有之一.微服务.DevOps已经被大量应用,它们已经像传说中的那样,可以无所不能.特来电云平台,通过近两年多的实践,发现完全 ...

  8. Spring Cloud 微服务架构学习笔记与示例

    本文示例基于Spring Boot 1.5.x实现,如对Spring Boot不熟悉,可以先学习我的这一篇:<Spring Boot 1.5.x 基础学习示例>.关于微服务基本概念不了解的 ...

  9. Spring Cloud 微服务架构整理记录与示例首页

    ---------------------------目录-------------------------------- 一.SpringCloud系列组件实战(Eureka.Ribbon.Hyst ...

随机推荐

  1. 利用rqalpha帅选股票 1

    最近股市好了,然后过了3100点后躺着赚钱已经不容易了,股票又太多,想着现在也是做这个东西,倒不如再进一步,把之前研究的量化交易利用起来. rqalpha很早就开源了,之前看过,貌似用来选股什么的很好 ...

  2. Python学习笔记(三)

    组合数据类型 5种内置的序列类型:bytearray,bytes,list,str,tuple 元组 元组:固定,有序,索引从0开始,分片,步距语法支持 不能替换或者删除其中的任意数据项,使用list ...

  3. Android Studio 3依赖配置

    新配置 对应的过时配置 描述 implementation compile module编译时可用,module的使用者运行时可用,对于大量使用library的项目,可以显著提高编译时间,因为它可以减 ...

  4. monit检测语法

    1.存在性检测 功能:检测文件或者服务不存在时进行相应的动作,默认是重启 语法: IF [DOES] NOT EXIST [[<X>] <Y> CYCLES]    THEN ...

  5. php冒泡排序详解笔记

    冒泡 /* * 冒泡排序(从小到大) * 介绍: * 它重复地走访过要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来. * 思路: * 比较相邻的元素.如果第一个比第二个大,就交换他 ...

  6. js实现十分钟内在页面无任何操作,页面跳转至登陆页

    // 如果10分钟没有操作,退出到登录页 var timer; function startTimer(){ clearTimeout(timer); timer=setTimeout(functio ...

  7. [原]Docker-issue(2) http: server gave HTTP response to HTTPS client

    系统环境 查看 文章末尾 附录 问题点:新建local registry后,push新的image到local registry  未能成功,并报错误: The push refers to repo ...

  8. python基础类型—列表

    列表 列表是python中的基础数据类型之一,其他语言中也有类似于列表的数据类型,比如js中叫数组,他是以[]括起来,每个元素以逗号隔开,而且他里面可以存放各种数据类型比如: li = [‘alex’ ...

  9. MultipartFile实现文件上传

    一.主要有两个java类,和一般的servlet放在一起即可. 1.FileUploadBean.java package chb.demo.web;import org.springframewor ...

  10. mac npm编译的时候,一直报 node 镜像找不到

    目前我所知的方法就是卸载.重装node,或者是升级node 卸载: brew uninstall node 安装: brew install node 升级: brew upgrade node