千家信息网

微软微服务架构eShopOnContainers的示例分析

发表于:2026-11-03 作者:千家信息网编辑
千家信息网最后更新 2026年11月03日,这篇文章将为大家详细讲解有关微软微服务架构eShopOnContainers的示例分析,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。一、介绍eShopOnConta
千家信息网最后更新 2026年11月03日微软微服务架构eShopOnContainers的示例分析

这篇文章将为大家详细讲解有关微软微服务架构eShopOnContainers的示例分析,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。

一、介绍

eShopOnContainers是基于微服务架构和Docker容器的一个简单的.Net Core的应用。目前微服务架构如火如荼,docker技术也发展迅速,微软在这时推出这个Demo,其用意可想而知,虽说这个Demo还不能完全应用到生产环境,但对于我们开发者来说,可是非常好的学习资料,无论你是稍作修改还是利用架构重新开发,学习这样一个Demo都是非常有必要的,这让我想起以前学习BlogEngine.Net。

二、架构

我们看下微软提供给我们的架构图

从左到右我们看到有2个虚线框,左边是各个客户端应用,右边是假设在Docker上的web应用、微服务应用和数据库。

在Demo中,微软根据不同功能分别搭建了多个service,而且在设计这几个service的时候,微软又使用了不同的方式来实现,如下图所示:

以上是微软在Demo中展示的四种services,你还可以使用不同的框架,不同的数据库完成你的微服务搭建,这就是微服务为何如此流行的原因了。我可以利用任何语言,任何数据库都能搭建我的服务,无论我的调用端使用的何种语言,何种系统。

三、源代码

这套架构在Github上开源,地址:https://github.com/dotnet-architecture/eShopOnContainers

我们可以通过git把源代码clone下来:

我们看到里面有3个sln,建议用vs2017打开,如果你安装了完整版,你可以打开eShopOnContainers.sln,不过一般对于初学者来说,我们还是打开eShopOnContainers-ServicesAndWebApps.sln解决方案。

可以看到在解决方案中已经涵盖了webapp和service app,我们的教程也是以这个solution为准。

四、必要环境:

之前说过我们的应用是跨平台的,可以运行在任何支持Docker的操作系统之上,但在我们开发调试的时候,我们需要相应的环境才能进行调试(当然你也可以使用iisexpress进行调试)

1、64bit Windows 10 Pro

2、开启Hyper-V(微软的虚拟机)

3、安装Docker for Windows

如果我们是win10之前的版本,我们虽然可以安装Docker Toolbox,但是没办法利用VS2017进行Docker调试,运行时会报错,为了这教程,我决定把我电脑升级到Win10,这样才能更好的展示。

如果你想在之前的系统下进行调试运行,除了安装Docker Toolbox外,您还需要安装:

1、NodeJS

2、Bower

Docker for Windows 在win10或者server 2016上有2种类型的容器,Linux container 和Windows Container,这里我们只需要使用Linux Container即可(默认)。我们的教程只针对Services和WebApp,微软建议设置Docker的使用内存是4096M(4G)和CPU 3,如果你要运行完整版(包含手机客户端),那你需要为Dockere配置16G内存。

我个人建议的话,你最好有台专门放数据库的机器,否则一个mssql-linux-sql docker都需要4G内存,不用说还需要搭建一个redis。

我们在学习的时候,我们不一定要使用Docker进行调试,利用iis express也可以,用哪种方式不重要,重要的是学习。

五、学习步骤:

本系列讲解的都是以ServicesAndWebApps.sln代码为准,我们将先从微服务学习,再看web部分的代码结构。大致的顺序如下:

1、Identity service

2、Catalog Service

3、Ordering Sevice

4、Basket Service

5、WebApp Mvc

6、WebSPA


写在最后:

前段时间比较忙,但一直非常关注.Net Core的发展,在之前的builder大会上,2.0的惊艳亮相,彻底让我相信微软会不惜余力的发展.Net,也使我等.Net Developer感觉到春天到了,至此为天下所有.Net Developer致敬,我们等了10年啊。

为什么挑这个架构来说呢,因为这是微软写的,很有教学意义,而且现在微服务和Docker概念越来越火,目前的公司是基于服务做的(还没有到达微服务概念),在部署、开发、维护、扩展上都有很多不便,所以这个学习对我来说非常重要。

第一篇比较偏废话些,后面会围绕代码和架构和设计模式进行讲解,欢迎大家订阅。最后来一张效果图

关于"微软微服务架构eShopOnContainers的示例分析"这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。

服务 微软 架构 学习 应用 不同 数据 数据库 开发 运行 重要 代码 内存 建议 教程 时候 环境 篇文章 系统 发展 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 上海挚品互联网科技有限公司 国智互联网科技 金融科技创新监管互联网金融 致聘互联网科技 上海喔噻互联网科技 互联网金融科技平台 天下捷融互联网科技 互联网金融 科技创新 互联网科技有限公司 翻译 成都玖崟互联网科技有限公司乐商圈怎么样 互联网大会黑科技排名 深圳市优智互联网科技有限公司 互联网保险科技创业 迪庆互联网科技招生 佛山市翊博互联网络科技有限公司 广州百诚互联网科技有限公司官网 互联网科技股为什么大涨 广州燕处互联网科技有限公司 广东鹅鹅鹅互联网科技有限公司 优雇互联网科技有限公司 互联网科技工作委员会 互联网 科技公司 青岛互联网科技公司 碳银互联网科技 百单互联网科技有限公司 深圳期待互联网科技 丰台科技园 互联网公司 互联网科技有哪些公司 科技大学互联网 数字科技和互联网金融哪个好
0