eShopOnContainers视频教程

  • 共 34 个视频教程

第34期-微服务体系架构技术总结

  • 2020/6/4 1:06 | 26分钟
  • VIP

容器化应用管理,关系型与非关系型数据库,分布式消息队列,分布式缓存,服务网关实现,反向代理与负载均衡,分布式结构化日志系统,服务注册与发现,健康状况监测,依赖注入容器,轻量级数据访问框架,链式验证规则,实体属性自动映射,远程过程调用,实现单点登录,使用中介者模式的领域事件,客户端实时通信与通知,容错故障处理,日志收集器,帮助文档生成工具,网络钩子,实现后台自动任务,自动化测试,前端库管理与性能优化。

569次播放

第33期-分布式结构化日志系统

  • 2020/6/4 0:02 | 35分钟
  • VIP

分布式与结构化日志系统,可用 Serilog 与 NLog 收集日志 ,学习微软 eShop 微服务体系结构中的 Seq 分布结构化日志系统,收集应用程序日志,强大的搜索与过滤机制,分析并绘制日志图表,警报与通知,工具链 ELK 由 ElasticSearch、Logstash 和 Kiabana 三个开源工具组成,使用 ELK 搭建大规模分布式实时日志分析平台,使用 RequestID 在分布式系统中追踪请求。

35次播放

第32期-Webhook网络钩子发送通知

  • 2020/5/26 21:58 | 22分钟
  • VIP

不同微服务间的通信方式,相同微服务不同领域聚合之间的通信方式,使用 Webhooks 网络钩子向外部系统发送事件通知,学习微软 eShop 微服务体系架构中关于 Webhook 网络钩子的实现,实现钩子查询和注册退订接口,使用可视化客户端界面管理钩子,钩子操作的认证与授权机制。

11635次播放

第31期-微服务身份认证与授权机制

  • 2020/5/25 22:33 | 55分钟
  • VIP

微服务的安全性,理解身份认证与授权过程,实现单点登录,使用 Identity 进行身份验证,使用外部提供程序进行身份验证,使用持有者令牌进行身份验证,使用 OpenID Connect 或 OAuth 2.0 标识提供程序进行身份验证,使用 IdentityServer 服务颁发安全令牌,跨多个微服务传递访问令牌,关于 JwtBearer 与 Cookie 认证,基于角色的授权和基于策略的授权,在开发过程中安全地存储应用程序机密。

12243次播放

第30期-微服务使用NoSQL数据库

  • 2020/5/18 23:05 | 33分钟
  • VIP

理解关系型数据库与 NoSQL 非关系型数据库,列式数据存储与键值数据存储的区别,学习 MongoDB 数据库,在 Docker 容器中运行 MongoDB 数据库,使用图形化界面管理 MongoDB 数据库,在 ASP.NET Core 中使用开源驱动程序对 MongoDB 数据库实现 CRUD 操作,微软 eShop 微服务架构中应用 MongoDB 存储用户的 GPS 地理位置信息。

12936次播放

第29期-实现CQRS模式与DDD应用层

  • 2020/5/14 0:39 | 51分钟
  • VIP

在 CQRS 微服务中实现读写分离,理解领域实体与视图模型的区别,使用 Dapper 作为微型 ORM 以执行查询,实现领域事件处理程序,基于 Autofac 扩展依赖注入容器,使用 MediatR 实现命令与命令处理程序模式,使用中介者管道拦截器对命令执行 FluentValidation 链式验证,命令日志记录拦截器,实现可扩展的命令去重功能。

50次播放

第28期-实现DDD领域层与基础设施层

  • 2020/5/14 0:21 | 34分钟
  • VIP

学习 eShop 微服务架构源码,学习面向 DDD 微服务的分层架构,实现领域模型层,编写聚合根、领域实体、值对象和领域事件,适用于领域模型的可重用基类与接口,使用枚举类不是枚举类型,仓储模式与工作单元接口,使用 EfCore 实现基础结构持久层,请求消息去重机制。

33次播放

第27期-设计微服务CQRS与DDD模式

  • 2020/5/12 22:13 | 63分钟
  • VIP

在微服务中应用简化后的 CQRS 和 DDD 模式,事件溯与 CQRS 模式,设计面向 DDD 的微服务,设计微服务领域模型,聚合跟、领域实体和值对象,贫血模型与充血模型,模型验证,领域事件的设计和实现,领域事件与集成事件的区别,设计基础结构持久性层,仓储模式与工作单元,使用 EfCore 和 NoSQL 实现基础设施层,设计微服务应用层和 Web API 接口,实现命令和命令处理程序模式。

12536次播放

第26期-测试微服务应用程序

  • 2020/5/8 23:11 | 39分钟
  • VIP

基于微服务的单元测试、集成测试和功能测试,学习微软 eShop 微服务体系结构中的测试方式,单元测试与 Mock 虚拟对象,为提高集成测试与功能测试的执行效率,可使用 TestHost 在进程内模拟测试服务器,测试微服务之间的交互协作,使用多环境配置文件,在 Docker 容器中运行测试项目。

13171次播放

第25期-设计和开发多容器微服务

  • 2020/5/7 22:37 | 26分钟
  • VIP

多体系微服务结构模式,设计面向微服务的 .NET Core 应用程序,创建简单的数据驱动 CRUD 微服务,学习微软 eShop 微服务体系结构源码,定义多容器应用程序,容器环境变量,在容器中运行数据库,数据库迁移与演示数据生成,使用内存数据库提升开发环境性能,在容器中运行的 Redis 分布式缓存服务,在微服务中实现后台自动任务。

12610次播放

第24期-可复原性与瞬态故障处理机制

  • 2020/4/29 1:16 | 55分钟
  • VIP

微服务的复原模式与容错性,瞬态故障处理设计,重试机制,指数退避算法与抖动策略,超时机制,缓存策略,断路器模式,回退机制,限制请求数,限流限次与计费机制,使用 Polly 开源库处理瞬态故障,编写处理条件,设置策略,使用策略执行方法,可将策略注入到依赖容器,将 HttpClientFactory 与 Polly 集成,学习微软 eShop 微服务体系架构中的瞬态故障处理方式,关于管道中间件实现断路器模拟测试方案。

634次播放

第23期-可复原的EFCore数据库访问

  • 2020/4/27 0:36 | 21分钟
  • VIP

实现可复原的微服务,瞬时故障与容错性,微软 EF Core 提供程序针对特定数据库的失败条件提供定制的执行策略,同时提供最佳的重试策略,配置重试次数、重试间隔和错误代码,数据库连接字符串中的重试参数,自定义执行策略,执行策略与事务,事务提交失败和幂等性问题,学习 eShop 微服务体系架构中重试机制与事务执行策略的应用。

21次播放

第22期-微服务运行状况管理和诊断

  • 2020/4/23 22:43 | 26分钟
  • VIP

运行状况监视可获取有关容器和微服务状态的近实时信息,容器业务流程协调程序和负载均衡器用于检查应用的状态,运行状况检查由应用程序作为 HTTP 终结点公开,微软 ASP.NET Core 提供运行状况检查解决方案,配置运行状况检查,编写自定义健康检查器,使用开源扩展库实现运行状况检查,可视化展示与历史状况时间线,可用 Webhook 网络钩子通知其它服务,微软 eShop 微服务体系架构中的健康状况检查。

12918次播放

第21期-创建基于微服务的UI微前端

  • 2020/4/21 21:01 | 13分钟
  • VIP

微服务体系结构通常从服务器端开始处理数据和逻辑,许多情况下 UI 仍作为整体来处理,对于复杂的业务规模,整体式 UI 难以维护,一种称为微前端方法可生成复合 UI 界面,按照这种方法构建的微服务具有自治的逻辑和可视化表示形式,功能十分完整,与之相比,复合 UI 是由微服务本身精确生成和组合而成的,可灵活控制 UI 特定区域的视觉形状。

12361次播放

第20期-微服务的注册与发现

  • 2020/4/20 21:16 | 47分钟
  • VIP

每个微服务都有唯一名称,用于解析其位置,了解 DNS 解析系统,理解微服务的可寻址性,服务注册表与服务发现,主流的服务注册解决方案,使用开源 Consul 工具搭建服务注册与发现集群,健康检查,负载均衡,全局分布式的键值存储,实战演练,基于 ASP.NET Core 构建微服务,在注册表集群中动态注册服务,使用服务发现动态调用微服务,关于 Consul 与 Ocelot、Nginx、Envoy 和 Kubernetes 的深度集成。

12416次播放

第19期-事件总线的原子性和复原能力

  • 2020/3/12 22:54 | 45分钟
  • VIP

使用完整事件溯源模式,事务日志挖掘,使用发件箱模式关联数据库事务,记录事件日志,将事件发布到总线的原子性,使用辅助微服务将事件发布到总线的复原能力,更新事件消息的幂等性,代码实战演练,使用 EF Core 实现通用的发件箱模式,微软 eShop 微服务架构中关于事件总线的应用。

13860次播放

第18期-抽象并实现可扩展的事件总线

  • 2020/3/12 0:30 | 70分钟
  • VIP

学习微软 eShop 微服务架构中的事件总线,实现可扩展的事件总线,消息事件定义,事件总线接口抽象,事件处理程序抽象,基于动态类型的处理程序,事件与订阅者管理器,使用 RabbitMQ 完成事件总线接口,使用指数退避算法实现连接复原,依赖注入扩展与配置选项,通过示例代码实战演练,生产者与消费者处理器的依赖注入。

69次播放

第17期-使用RabbitMQ图形化管理

  • 2020/3/10 23:11 | 48分钟
  • VIP

认识 RabbitMQ 提供的命令行工具,学习图形化管理界面,分别配置虚机、连接、通道、交换机、队列、用户和权限,使用图形界面跟踪性能并调试队列,配置队列读写权限,生产者与消费者的身份认证授权,关于 RabbitMQ 高可用性与分布式集群的搭建,使用 Docker 容器编排文件快速启动分布式集群,其它扩展功能介绍。

14537次播放

第16期-使用RabbitMQ更高级的功能

  • 2020/3/5 23:31 | 41分钟
  • VIP

生产者将消息发布到 Direct 类型的交换机,消费者通过路由键将队列绑定到交换机消费消息,生产者将消息发布到 Topic 类型的交换机,消费者使用路由键通配符订阅消息,使用回复队列间接实现基于 RPC 的请求模式,使用 ACK 确认机制保证生产者与消费者传输消息的可靠性,示例代码与实战演练。

14646次播放

第15期-使用RabbitMQ实现事件总线

  • 2020/3/4 23:52 | 49分钟
  • VIP

关于 AMQP 通信协议与 RabbitMQ 的基本架构,生产者,消费者,交换机,队列,路由键,虚拟机,使用多个通道复用物理连接,安装方式说明,在 Docker 容器中运行 RabbitMQ 服务端,通过编写代码实战演练,最简单的队列通信方式,将生产者消息分配给多个工作进程,分布式队列的发布订阅模式,定义队列与交换机,并将队列绑定到交换机,消息到达后的自动确认与手动确认。

14677次播放

第14期-分布式消息队列总线异步通信

  • 2020/2/25 18:12 | 35分钟
  • VIP

同步与异步通信,关于 AMQP 高级消息队列协议,基于异步通信的单接收者与多接收者,事件驱动的异步通信,观察者模式,发布者与订阅者模式,抽象可扩展的事件总线接口,事件总线接口的多个实现,发布事件的原子性和复原能力,使用事件溯源模式和发件箱模式实现数据的高可用性与一致性。

11626次播放

第13期-学习Kubernetes集群体系架构

  • 2020/2/24 18:22 | 45分钟
  • VIP

认识 K8S 容器集群管理解决方案,理解 Docker 物理架构层次图和体系结构图,关于 Kubernetes 体系架构图,微软 eShop 微服务体系架构中的 K8S 集群部署,如何学习 Docker 和 Kubernetes 技术,使用可视化的界面管理集群,微软 Visual Studio 提供的 Kubernetes 工具可简化面向容器化应用程序的开发。

11654次播放

第12期-容器化Docker应用程序开发流程

  • 2020/2/23 23:59 | 68分钟
  • VIP

常用 Docker 命令集合,学习微软平台上开发 Docker 应用程序的流程,构建 Docker 容器开发环境,安装 Visual Studio 容器工具工作负载,在项目中启用 Docker 支持,生成镜像,使用发布工具发布映像到远程仓库注册表,使用容器业务流程协调程序支持管理多个容器,多环境配置文件管理,在项目中读取配置文件,关于容器工具的相关设置。

14925次播放

第11期-分布式微服务的挑战和解决方案

  • 2020/2/22 16:20 | 37分钟
  • VIP

如何定义每个微服务的边界,创建从多个微服务中检索数据的查询,可用 API 网关聚合数据,关于 CQRS 命令查询职责分离,具体化视图模式,如何实现微服务之间的数据一致性,分布式系统设计中的 CAP 原则与 BASE 原则,同步通信与异步通信,如何设计跨微服务边界的通信。基于分布式消息队列的异步通信,在事件总线上发布与订阅,事件溯源模式。

10388次播放

第10期-Envoy在eShop微服务中的应用

  • 2020/2/21 19:02 | 49分钟
  • VIP

开源 Envoy 是专为代理和通信总线而设计的,关于官方文档与指南,通过编写 ASP.NET Core 示例演示 Envoy 的使用方法,镜像生成与容器编排,在 Docker 容器中运行 Envoy 代理,使用 Dcoker 容器卷映射配置文件,路由规则设置,负载均衡集群和算法策略配置,学会 Visual Studio 提供 Docker 镜像与容器可视化管理工具,微软 eShop 微服务体系架构中的 Envoy 应用,网关模式与 BFF 代理设计。

12360次播放

第09期-Ocelot在eShop微服务中的应用

  • 2020/2/20 16:58 | 49分钟
  • VIP

学习微软 eShop 微服务体系架构中的网关设计思想,使用单个 Docker 容器映像通过不同的配置运行多个不同类型的 API 网关或 BFF 容器,微服务架构中的网关聚合模式,在网关层面使用 IdentityServer 实现的身份认证与授权横切点,通过分析项目源代码,深入理解微服务中的网关设计和具体实现。

10433次播放

第08期-使用Ocelot网关转发请求

  • 2020/2/19 22:19 | 42分钟
  • VIP

学习 Ocelot 开源网关,理解功能特点,配置,路由规则,请求聚合,服务发现,认证授权,限次限速,谓词转换,缓存,服务质量,请求头转换,用户声明转换,分布式日志追踪,通过示例演示请求转发功能,配置负载均衡服务列表与均衡算法策略,使用 API 聚合器合并多个返回结果,编写自定义的请求聚合器。

14341次播放

第07期-Nginx从入门到实践

  • 2020/2/17 22:35 | 56分钟
  • VIP

正向代理与反向代理,负载均衡,动静分离,高可用性与容错能力,守候进程与工作进程,无需重新启动的热部署,将 Nginx 寄宿到 Windows 服务中,解读强大详细的配置文件,通过示例实战演练,负载均衡策略,默认轮询,加权轮询,最少连接原则,加权最少连接,IP哈希算法,Url哈希算法,关于开源的 Nginx 可视化管理工具,可在 Docker 容器 中运行 Nginx 支持,推荐优质的学习资源。

14400次播放

第06期-微服务API网关模式与BFF模式

  • 2020/1/9 21:00 | 33分钟
  • VIP

客户端与微服务终结点直接通信,对于大型复杂应用程序,面临很多问题,可使用客户端到 API 网关的通信模式,实现 BFF 面向前端的后端模式,网关模式的主要功能,反向代理或网关路由,请求聚合,使用第三方框架实现网关功能,分析网关模式的缺点,学习 eShopOnContainers 项目中关于 API 网关模式与 BFF 模式的应用。

14544次播放

第05期-如何定义微服务的模型边界

  • 2020/1/7 21:26 | 27分钟
  • 免费

在为每个微服务定义模型边界和大小时,应尽可能倾向于小型微服务,但目标并不是尽可能达到最细粒度的分离,根据领域驱动 DDD 限定上下文分析模型的边界,康威定律规定应用程序应反映开发团队的组织结构,若要定义有界上下文,可以使用 DDD 上下文映射模式,关于 eShopOnContainers 项目中的微服务定义。

14579次播放

第04期-基于微服务的容器化应用程序

  • 2020/1/3 23:09 | 30分钟
  • 免费

理解 Docker 容器、映像和注册表,容器的设计原则,容器化单体式应用程序,容器化应用程序中的状态和数据共享,容器化面向 SOA 服务的体系结构,微服务体系结构指南,微服务与 DDD 界定上下文模式之间的关系,逻辑体系结构与物理体系结构。

16060次播放

第03期-使用VisualStudio运行项目源码

  • 2020/1/2 22:47 | 33分钟
  • 免费

配置 Visual Studio 开发环境,运行 eShopOnContainers 项目源码,快速生成 Docker 映像,将映像推到容器中运行,使用可视化管理工具查看映像与容器,探索微服务接口和 Web 应用程序,运行基于 Xamarin 开发的 iOS、Android 和 UWP 移动应用,分别使用模拟器和真机运行移动应用。

15389次播放

第02期-使用CLI命令行运行项目源码

  • 2020/1/1 10:30 | 44分钟
  • 免费

微服务体系结构与容器化应用程序,虚拟机与容器,系统需求,硬件要求与软件要求,配置 Docker 容器主机,使用脚本配置网络防火墙,克隆项目到本地,项目结构目录说明,构建并生成应用程序映像,将微服务映像推到容器中运行,探索应用程序中提供的各种微服务。

7034次播放

第01期-项目总体概况

  • 2019/12/27 20:13 | 16分钟
  • 免费

在微服务架构非常流行的今天,微软也提供了一个基于 .NET Core 平台的微服务架构参考示例,微软 eShopOnContainers 项目架构基于 .NET Core 平台和 Docker 容器,提供一个简化版的在线商城项目,该项目中所使用了很多技术点,可供参考学习,微服务架构图,客户端应用与服务端应用,微服务架构模式,适用于容器化的 .NET 应用程序的体系结构。

14096次播放