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,下面表格是同事整理的注册中心对比,以前用的 ...
随机推荐
- 总结Array类型中常用的方法
Array类型应该是 ECMAScript 中最常用的类型之一了,并且它定义的数组与其他语言有着相当大的区别.数组是数据的有序集合,我们可以通过下标对指定位置的数据进行读 写:特别的是,在 ECMAS ...
- Java中浮点数的精度问题 【转】
当您在计算Money的时候,请看好了!!!要不损失了别后悔!!! 现象1: public static void main(String[] args) { System.out.println(0. ...
- Java MD5加密与RSA加密
区别: MD5加密: 加密时通过原字符串加密成另一串字符串 解密时需要原加密字符串进行重新加密比较两次加密结果是否一致 T=RSA加密: 加密时通过原字符串生成密钥对(公钥+私钥) 解密时通过公钥和私 ...
- Python微信公众号开发
最近老大叫我学习开发微信,试着玩了下.网上查了下文档.有点过时. 简单步骤: 1)申请服务器并完成环境配置 去腾讯云购买云服务器.当然你也可以购买其他产品,比如阿里云.因为我是学生,有优惠110一年. ...
- Http Header信息
REMOTE_ADDR – 访问客户端的 IP 地址 HTTP_VIA – 如果有该条信息, 就证明您使用了代理服务器,代理服务器的地址就是后面的数值. HTTP_X_FORWARDED_FOR – ...
- 【转】高效利用Fundebug追踪Node.js日志发现问题
不管使用哪个语言做项目开发,我们都会自觉地用日志来做相关记录.比如,HTTP请求,报错信息.某些关键节点埋点记录等等.在Java中有大名鼎鼎的Log4J,于是在Node.js中也有了log4js. 日 ...
- SIMATIC_STEP_V5.6使用报错
SIMATIC_STEP_V5.6是西门子出来的一款能够在Windows 10上运行的step 7软件. 正常的安装步骤我们可以在百度上面进行一些查找,在这里我将我遇到的一个问题发出来. 在Windo ...
- Kali Linux安装VMWare Tools
操作环境: 虚拟机操作系统: Kali Linux 2017.2 虚拟化软件: VMWare workstation 14 pro 加载光盘 在VMWare上依次点击"虚拟机->安装V ...
- Hibernate验证器
第 4 章 Hibernate验证器 http://hibernate.org/validator/documentation/getting-started/#applying-constrain ...
- javascript项目实战---ajax实现无刷新分页
分页: limit 偏移量,长度; limit 0,7; 第一页 limit 7,7; 第二页 limit 14,7; 第三页 每页信息条数:7 信息总条数:select count(*) from ...