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,下面表格是同事整理的注册中心对比,以前用的 ...
随机推荐
- UML语言中五大视图和九种图形纵览
UML语言纵览 视图 UML语言中的视图大致分为如下5种: 1.用例视图.用例视图强调从系统的外部参与者(主要是用户)的角度看到的或需要的系统功能. 2.逻辑视图.逻辑视图从系统的静态结构和动态行为角 ...
- WebApiClient库支持AOT
1 库简介 WebApiClient是开源在github上的一个http客户端库,内部基于HttpClient开发,只需要定义c#接口(interface),并打上相关特性,即可异步调用http-ap ...
- Python 3.6 中文手册——前言
1. 前言 如果你在电脑上做了很多工作,最终你会发现有一些任务你想要自动化.例如,你可能希望对大量的文本文件执行搜索和替换,或者以复杂的方式重命名并排列一堆照片文件.也许你想写一个小的自定义数据库,或 ...
- 用CSS画小猪佩奇,你就是下一个社会人!
欢迎大家前往腾讯云+社区,获取更多腾讯海量技术实践干货哦~ 作者:江志耿 | 腾讯TEG网络工程师 我是佩奇,哼,这是我的弟弟乔治,呱呱,这是我的妈妈,嚯,这是我的爸爸,嚯~ 背景 小猪佩奇已经火了好 ...
- SVN使用指引(Windows)
SVN使用指引(本地服务器为Windows) 原:http://wiki.open.qq.com/wiki/SVN%E4%BD%BF%E7%94%A8%E6%8C%87%E5%BC%95%EF%BC% ...
- Using INSERT IGNORE with MySQL to prevent duplicate key errors
An error will occur when inserting a new record in MySQL if the primary key specified in the insert ...
- 报错 'dict' object has no attribute 'has_key'
has_key方法在python2中是可以使用的,在python3中删除了. 比如: if dict.has_key(word): 改为: if word in dict:
- nagios监控mysql主机,nginx,磁盘IO,网卡流量
http://blog.chinaunix.net/uid-28685162-id-3506260.html nagios安装完成,打开/usr/local/nagios/etc/nagios.cfg ...
- ECMAScript简介以及es6新增语法
ECMAScript简介 ECMAScript与JavaScript的关系 ECMAScript是JavaScript语言的国际化标准,JavaScript是ECMAScript的实现.(前者是后者的 ...
- Java 保留两位小数填坑
下面直接上代码: DecimalFormat df1 = new DecimalFormat("#.00");DecimalFormat df2 = new DecimalForm ...