《容器化.NET应用架构指南》脑图学习笔记(第一部分)
一、关于这本官方“圣经”
作为.NET程序员,对于微软官方推动的架构示例总是特别关注,从PetShop到MusicStore再到eShopOnContainers,每一次关注,都会了解到业界最新的架构风格。这里引用园友杨晓东描述这几个经典示例项目的一段文字:
(1)PetShop:WebForm 的示例程序。典型的三层架构风格的应用程序。
(2)MusicStore: 针对于 MVC3~5 框架和 EF 的一个示例程序。无明显架构风格。
(3)eShop: 针对于 ASP.NET Core 的示例程序,它是一个 Rest 架构风格的应用程序。
从微软推出来的示例的架构风格的转变也可以看出,现代应用程序架构已经从单一的传统风格架构(N-Tire或Layered)转向了多种混合风格架构,像eShop就包含了以下多种架构风格:

其中包括了:
- 基于数据驱动的CRUD微服务
- 基于DDD的微服务
但在实际的微服务架构中,又不止上面提到的两种,如下图所示:

多个微服务组成的应用程序中,各自可以用不同的架构方式实现。
说了这么多eShop示例的东西,那么这本书又有啥关系呢?来看看这本书的介绍:
“ 本指南介绍如何使用容器开发基于微服务的应用程序并对其进行管理。本指南探讨使用 .NET Core 和 Docker 容器的体系结构设计和实现方法。 为了更加轻松地开始使用容器和微服务,本指南重点介绍一个容器化和基于微服务的参考应用程序eShopOnContainers, 可通过 eShopOnContainers GitHub 存储库获取该示例应用程序。”
明白了吧?想要了解eShop及其背后的架构,除了立马去github clone该项目之外,系统性的学习就是靠这本书了,还不去下载下来看看?
注:这本书是微软官方微服务参考指南(由Microsoft 开发人员部门、.NET 和 Visual Studio 产品团队等联合出品。旨在帮助开发人员更高效更准确的实现微服务架构应用程序),下载地址。
二、思维导图精华笔记
(1)容器化与微服务基础知识

(2)部署.NET Core到Docker及基于微服务的.NET Core应用知识

(3)使用DDD & CQRS应对业务复杂性
(4)EF Core & NoSQL实现持久层基础架构
(5)微服务应用层 & WebAPI
(6)实现弹性应用 & 微服务安全
后续脑图
使用DDD和CQRS应对业务复杂性、EF Core与NoSQL实现持久层基础架构、微服务应用层与WebAPI、实现弹性应用与微服务安全等章节话题。
参考资料
首先,肯定是微软出版的这本指南:

其次,感谢圣杰的微服务知多少系列文章,他对eShopOnContainers做了细致的分析!


《容器化.NET应用架构指南》脑图学习笔记(第一部分)的更多相关文章
- .NET微服务 容器化.NET应用架构指南(支持.NET Core2)
介绍 企业通过使用容器,日益实现成本节约.解决部署问题并改进 DevOps 和生产操作. 通过创建 Azure 容器服务.Azure Service Fabric 等产品,同时与 Docker.Mes ...
- 开源Android容器化框架Atlas开发者指南
Atlas是古希腊神话中的天神,是波士顿动力公司的机器人,借助搜索引擎,得以发现这个名词背后许许多多的含义.在手机淘宝,Atlas是一个扎根于Android客户端的一个组件化容器框架,相比神话中用手和 ...
- WordPress 缩率图学习笔记
WordPress 缩率图学习笔记 Wordpress在生成缩略图的过程中,有两种不同的规则 缩放模式:缩放模式就是将图片等比例缩小,且新生成的缩略图长度或高度两者之中,有一个是你设置的缩略图的尺寸 ...
- 免费开源《OdooERP系统部署架构指南》试读:第一章 Odoo架构概述
文/开源智造联合创始人老杨 本文来自<OdooERP系统部署架构指南>的试读章节.书籍尚未出版,请勿转载.欢迎您反馈阅读意见. 从web浏览器到PostgreSQL,多层与其他层交互以处理 ...
- 《Hadoop大数据架构与实践》学习笔记
学习慕课网的视频:Hadoop大数据平台架构与实践--基础篇http://www.imooc.com/learn/391 一.第一章 #,Hadoop的两大核心: #,HDFS,分布式文件系统 ...
- PHP-生成缩略图和添加水印图-学习笔记
1.开始 在网站上传图片过程,经常用到缩略图功能.这里我自己写了一个图片处理的Image类,能生成缩略图,并且可以添加水印图. 2.如何生成缩略图 生成缩略图,关键的是如何计算缩放比率. 这里,我根据 ...
- 《JavaScript权威指南》学习笔记 第一天。
这是零零散散的笔记,作为自己看书打demo的笔记.不足为各位学习,留作自己复习知识点备用. 1.检测对象中某个属性存在不存在: <script> // in 运算符 //不管是对象的自有属 ...
- E-R图学习笔记
E-R图也称实体-联系图(Entity Relationship Diagram),提供了表示实体类型.属性和联系的方法,用来描述现实世界的概念模型. 方法 编辑 E-R方法是“实体-联系方法”( ...
- OpenGL编程指南第版本学习笔记 --- OpenGL程序实现过程(win32 + OpenGL)
1. 先上代码 头文件glCommon.h #include <GL/glew.h> #include <GL/GL.h> #include <GL/GLU.h> ...
随机推荐
- 结构体数组排序:1004 成绩排名 【pta】
结构体模板 struct STU { string name; //用string可以代替char string num; int s; }; sort是用快速排序实现的,属于不稳定排序,stable ...
- 6_9 天平(UVa839)<二叉树的DFS>
前一个ubiquous通信小工具,移动只是一个由弦和电线组成的结构五彩缤纷的东西.这种移动通常被发现悬挂在小婴儿的摇篮.图说明了一个简单的移动.它只是一个电线,悬挂的一个字符串,每一个对象的对象.它可 ...
- Java 使用代理发送Http请求 (将Http请求代理Https请求)
package com.test.porxy; import java.io.BufferedReader; import java.io.IOException; import java.io.In ...
- Python学习(六)—— 函数、全局变量与局部变量
函数 函数的定义 def test(x): "The function definition" x += 1 return x def:定义函数的关键字 test:函数名 ():内 ...
- mysql带条件的计数
在网站开发的过程中,经常会用到数据统计功能,因此条件计数查询便是不可避免的,下面介绍几种方法来解决此问题. 例(假设): mysql> select * from count_demo; +-- ...
- c++高斯消元法求解线性方程组
#include<iostream> #include<math.h> #include<string.h> using namespace std; #defin ...
- 洛谷 P1880 [NOI1995]石子合并(区间DP)
嗯... 题目链接:https://www.luogu.org/problem/P1880 这道题特点在于石子是一个环,所以让a[i+n] = a[i](两倍长度)即可解决环的问题,然后注意求区间最小 ...
- MYSQL双查询错误1
一.基础知识 开始讲解MYSQL双查询错误之前,我们先了解一下双查询语句以及需要使用到的几个数据库函数和GROUP BY语句 1. 双查询语句 先了解一下什么是子查询,子查询就是嵌入第一层select ...
- wsgiref模块
学习django框架之前,可以先学习一下wsgiref模块,熟悉前后端交互. 一.先介绍下wsgiref模块 WSGI(Web Server Gateway Interface)是一种规范,它定义了使 ...
- SpringCloud全家桶学习之路由网关----Zuul(六)
一.Zuul概述 (1)Zuul是什么? Zuul包含了对请求的路由和过滤的两个最主要的功能,其中路由功能负责将外部请求转发到具体的微服务实例上,是实现外部访问统一入口的基础:而过滤功能则负责对请求的 ...