ASP.NET Core微服务实战系列
希望给你3-5分钟的碎片化学习,可能是坐地铁、等公交,积少成多,水滴石穿,码字辛苦,如果你吃了蛋觉得味道不错,希望点个赞,谢谢关注。
前言
这里记录的是个人奋斗和成长的地方,该篇只是一个系列目录和构想,并没有完全真正开弓。之所以有这个题目,是因为.NET Core在国内的学习资源七零八落,偶尔园里也有零星好文出现,但是系统性的,带深入浅出实战风格的专题介绍目前没有看到,之前特定整理了一个资源分享,持续收集了不少资源,但是总感觉还是做的不够好,对个体或团队要进行技术升级还是没有门道可循。
目前关于.NET Core方面有系统性持续写做的,我全网搜了一遍,Artech文章相对比较系统,但是他的文章口味太咸,开篇就是框架揭秘:剖析设计思想和实现原理,让人望而却步。因为你可能更多的是评估开发进度风险,希望能先把车开起来,再去了解汽车引擎、缸数、排量等等。所以我希望逢着的是一幅画卷在面前徐徐展开,让人赏心悦目,豁然开朗的阅读体验。一个能从读者的角度,把技术写作当中一个不断优化的产品,不但要考虑新人的起点,考虑文章内容的循序渐进,同时又不觉得太浅淡,在兼顾实战的基础上又能逐步深入原理和设计思想,能够把很深奥的东西通过丰富的表达方式,比如在样式上、排版布局上、阅读体验上让知识平滑递进。
好吧,我承认这种要求有点苛刻,毕竟这里不是学校。没有人能这么的去推广和写作,这得耗费多少时间和经历。但是,不去尝试,怎么就不知道能不能做到呢?所以简单的规划了一下,于是就有了下面的.NET Core微服务实战大纲草稿,初步分入门,进阶,实战三个阶段,希望后面写作风格能给赏心悦目、豁然开朗的阅读体验。
如果你在阅读过程中觉得味道不对,应该加点酱油或者放点盐巴什么的,希望你给我这个新厨子一个建议,争取在下一盘菜出来的时候,让你满意。
入门篇
第一章 窥视.NET Core平台
第二章 ASP.NET Core入门关键要点
引子
- 专题介绍
- 环境安装
- 创建项目
- 部署到IIS
- 准备CentOS和Nginx环境
- 部署到CentOS
配置管理
- 命令行和JSON的配置
- Bind建立配置文件和实体的映射
- 用Options建立配置和实体的映射
- 配置的热更新
- 配置的框架浅析
依赖注入
- 依赖注入
- 依赖注入源码分析
HTTP请求
- ASP.NET Core请求过程
- WebHost配置和启动
- dotnet watch run和attach
- 管道Middleware简介
- 管道实现机制和模拟构建管道
认证授权
- 基于JWT的认证和授权
- 基于JWT的令牌生成和定制
- Role和Claims授权
第三章 EF Core进阶
- 实体创建和数据库迁移
- 数据的初始化和操作
- EF Core高性能编程
- 日志管理和变更追踪
- 高并发和事务处理
进阶篇
第四章 微服务知识图谱导航
- 微服务学习导航
- 到底什么是微服务
- 微服务架构核心部件
- 漫谈何时从单体架构迁移到微服务
- 微服务网关
- RPC远程调用
- 微服务的监控
- 微服务的跟踪
- 微服务的治理
- 微服务和DevOps
- 微服务和Docker
- 微服务的部署
- 微服务的划分方式和坑
第五章 IdentityServer4认证与授权
- OAuth2.0原理
- OAuth模式实践
- OAuth2.0 VS OpenId Connect
第六章 Linux技术铺垫
- 6.1 Linux环境搭建和常用命令
- 6.2 Linux文件和目录管理
- 6.3 Linux系统用户和用户组管理
- 6.4 Linux磁盘管理
- 6.5 Linux系统服务管理
第七章 Docker容器必知必会
- 7.1 容器镜像与仓库
- 7.2 构建多容器环境
- 7.3 Docker安装Mysql与配置
- 7.4 Docker安装MongoDb
- 7.5 Docker制作.NET Core镜像
- 7.6 EF Core、Mysql快速构建Web API
- 7.7 Docker Network
- 7.8 Docker Compose
- 7.9 Git工作流选择
- 7.10 GitLab的使用
- 7.11 部署Registry
- 7.12 K8S
实战篇
第八章 用户服务
- 8.1 服务拆分和界定
- 8.2 EF Core数据模型设计
- 8.3 服务API设计
- 8.4 数据访问和模型处理
- 8.5 异常处理和日志记录
- 8.6 HTTP Patch更新数据
- 8.7 单元测试初探
- 8.8 编写测试用例
- 8.9 基于GitLab的CI/CD
第九章 网关和认证
- 9.1 API网关和服务发现
- 9.2 用户注册和登录
- 9.3 IdentityServer4自定义验证功能
- 9.4 Ocelot网关的运用
- 9.5 服务间的发现和调用
- 9.6 Polly的设计和使用
- 9.7 ResilienceHttpClient的运用
第十章 信息流服务
- 10.1 业务分析及外部依赖检查
- 10.2 外部依赖
- 10.3 将接口加入到网关
- 10.4 将profile添加到Identity Api和网关
- 10.5 RabbitMQ简介
- 10.6 EventBus
- 10.7 EventBus集成CAP
- 10.8 事件发生实现
第十一章 评论服务
- 11.1 DDD介绍
- 11.2 CQRS基本介绍
- 11.3 领域事件和集成事件
- 11.4 框架搭建
- 11.5 领域模型创建
- 11.6 MediatR与领域事件
第十二章 微服务监控与部署
- 12.1 监控对象
- 12.2 监控指标
- 12.3 监控维度
- 12.4 监控原理
- 12.5 分布式追踪介绍以及zipkin server初始化
- 12.6 使用zipkin.NET客户端完成追踪和数据发送
- 12.7 Elastic Search简洁和入门
- 12.8 日志的类别
- 12.9 EFK介绍
- 12.10 日志系统和日志的生命周期
- 12.11 Fluentd介绍
- 12.12 Serilog介绍
ASP.NET Core微服务实战系列的更多相关文章
- go-zero微服务实战系列(三、API定义和表结构设计)
前两篇文章分别介绍了本系列文章的背景以及根据业务职能对商城系统做了服务的拆分,其中每个服务又可分为如下三类: api服务 - BFF层,对外提供HTTP接口 rpc服务 - 内部依赖的微服务,实现单一 ...
- go-zero微服务实战系列(十一、大结局)
本篇是整个系列的最后一篇了,本来打算在系列的最后一两篇写一下关于k8s部署相关的内容,在构思的过程中觉得自己对k8s知识的掌握还很不足,在自己没有理解掌握的前提下我觉得也很难写出自己满意的文章,大家看 ...
- 微服务实战系列--Nginx官网发布(转)
这是Nginx官网写的一个系列,共七篇文章,如下 Introduction to Microservices (this article) Building Microservices: Using ...
- Chris Richardson微服务实战系列
微服务实战(一):微服务架构的优势与不足 微服务实战(二):使用API Gateway 微服务实战(三):深入微服务架构的进程间通信 微服务实战(四):服务发现的可行方案以及实践案例 微服务实践(五) ...
- 【.NET Core微服务实战-统一身份认证】开篇及目录索引
简介 学习.NETCORE也有1年多时间了,发现.NETCORE项目实战系列教程很少,都是介绍开源项目或基础教程,对于那些观望的朋友不能形成很好的学习思路,遇到问题怕无法得到解决而不敢再实际项目中 ...
- Go + gRPC-Gateway(V2) 构建微服务实战系列,小程序登录鉴权服务:第一篇(内附开发 demo)
简介 小程序可以通过微信官方提供的登录能力方便地获取微信提供的用户身份标识,快速建立小程序内的用户体系. 系列 云原生 API 网关,gRPC-Gateway V2 初探 业务流程 官方开发接入文档 ...
- go-zero 微服务实战系列(一、开篇)
前言 在社区中经常看到有人问有没有基于 go-zero 的比较完整的项目参考,该类问题本质上是想知道基于 go-zero 的项目的最佳实践.完整的项目应该是一个完整的产品功能,包含产品需求.架构设计. ...
- 微服务实战系列(二)-注册中心Springcloud Eureka客户端
1. 场景描述 前几天介绍了下springcloud的Eureka注册中心(springcloud-注册中心快速构建),今天结合springboot-web介绍下eureka客户端服务注册. 2. 解 ...
- 微服务实战系列(四)-注册中心springcloud alibaba nacos
1.场景描述 因要用到微服务,关于注册中心这块,与同事在技术原型上做了讨论,初步定的方案是使用:阿里巴巴的nacos+springcloud gateway,下面表格是同事整理的注册中心对比,以前用的 ...
随机推荐
- C#实现的HttpGet请求
话不多说,代码贴上: /// <summary> /// HTTP Get请求 /// </summary> /// <param name="url" ...
- Linux的安装(虚拟机环境)与基础配置
一.背景 本文介绍如何安装虚拟机VMware以及如果在虚拟机上安装Linux系统以及Linux安装完毕之后的基础配置 需要准备的东西有VMware以及Linux镜像文件 二.下载安装VMware 下载 ...
- Python2.7和3.5双版本共存和pip的使用
1. Python2.7和3.5并存 1.1 安装 安装自不必多说,先装2.7,再装3.5. 说下安装的目录:Py3.5和Py2.7默认的安装目录是不一样的,按默认的来就好,不用管. Python2. ...
- EF Core Model更新迁移
EF Core 迁移 感觉就是以前EF Code First的自动同步数据库功能 内容:在你新增.更新TableModel后,如何自动化的更新DB中的真实Table.以及对这些更改进行一个版本控制. ...
- 关于HTML、CSS、JavaScript三者关系的简述
总述 我对于网页这部分的理解吧,对于静态网页来说,无非分为三部分:第一部分.HTML,第二部分.CSS,第三部分.JavaScript(这部分暂且放一边).这俩个给我的第一印象就是,这你妹的都是一串串 ...
- Maven学习(二)-- Maven项目构建过程练习
摘自:http://www.cnblogs.com/xdp-gacl/p/4051690.html 一.创建Maven项目 1.1.建立Hello项目 1.首先建立Hello项目,同时建立Maven约 ...
- bootstrap模态对话框(最简单)
根据公司的需求,需要一个对话框来返回给客户的失败原因,刚刚开在百度上搜了老半天,嫩是没有搜索一个自己想要的,后来发送私信给一个博友,经过他哪里找到了自己想要的答案,废话不多说直接看源码: <!D ...
- 影响 MySQL Server 性能的相关因素
MySQL 最多的使用场景是WEB 应用,那么我们就以一个WEB 应用系统为例,逐个分析其系统构成,进行经验总结,分析出数据库应用系统中各个环境对性能的影响. 商业需求对性能的影响 这里我们就拿一个看 ...
- 并发库应用之十三 & 并发集合类的应用
传统集合实现同步的问题 举了一个例子:Map集合线程不同步导致的问题. 解决办法:使用同步的Map集合 使用集合工具类中的方法将不同步的集合转为同步的Collections.synchronizedM ...
- windows7 dos修改mysql root密码
第一步:打开mysql 安装路径 选择bin文件 同时按下Shift+鼠标右键 点击"在此处打开命令" 第二步:输入mysql -u root -p 按回车键会提示输入密码 ...