.NET Core微服务架构学习与实践系列文章索引目录
一、为啥要总结和收集这个系列?
今年从原来的Team里面被抽出来加入了新的Team,开始做Java微服务的开发工作,接触了Spring Boot, Spring Cloud等技术栈,对微服务这种架构有了一个感性的认识。虽然只做了两个月的开发工作,但是对微服务架构的兴趣却没有结束,又因为自己的.NET背景(虽然对.NET的生态有点恨铁不成钢),想要探索一下在.NET平台下的微服务架构的可行性,也准备一些材料作为分享的素材。

幸运的是,在.NET Core首届在线峰会上,看到了很多前辈的分享,也增强了自己要摸索和实践.NET Core微服务架构的决心。因此,站在各位前辈的肩膀上(详见第四部分的学习资料),我学习并总结了这个系列的文章,主要面向有.NET Web开发背景(本系列不会主要讲解.NET Core,不过不会阻碍你的阅读),没有接触过或者很少接触微服务架构的初级开发童鞋,文中介绍的开源技术也不一定是最佳的选择,事实上混合式架构(Linux+Windows+开源组合)与Docker+K8S的组合已经成了现在主流企业级和互联网项目的(默认)标准,重点是大家转变这个思路,拥抱Open Source,拥抱Cloud,也拥抱.NET Core,才会让.NET的生态好起来。鲁迅先生说,“世上本无路,走的人多了也就成了路”,对于.NET生态也一样,只有我们拥抱的人(这里主要指使用.NET相关开源技术的人)多了,也才会有好的生态,特与君共勉。当然,这里并不是说要抱死.NET,或者鼓吹.NET多么好,没有绝对好的技术栈,只有刚刚好的业务需求,爱.NET Core,也不排斥Java等其他技术栈,相互合作,共同构建,脱离微软(这里指广义上的老一代微软全家桶:ASP.NET+MSSQL+WindowsServer等),拥抱开源,任重而道远!
此外,鉴于个人时间和精力有限,以及其他园友在特定领域已经取得的相关学习成果,我还会不定期收集一些其他园友的系列文章放在这个索引里边,方便大家快速定位查看学习。
最后,由于个人的职业规划,我即将离开现在的公司(当然,并不是说现在的公司不好,而是个人对.NET的初恋情结)去一家新的公司去实践.NET Core,使用开源技术(有可能会给园子里的开源项目提Issue,也尽力积极提PR),实践微服务,实践架构设计,后续也会实践大数据,去经历一些之前经历不到的路程,也希望可以在后续分享一些实践系列的文章到博客园。如果有成都地区的园友想要来实践.NET Core的,也可以联系我,我司也在招聘优秀的.NET程序猿来一起搞事情。
二、重点内容索引
2.1 服务发现&注册&通信
2.2 熔断&降级
2.3 API网关
2.4 统一验证&授权
基于IdentityServer实现授权与验证服务(Part 1)
基于IdentityServer实现授权与验证服务(Part 2)
基于Ocelot+IdentityServer实现统一验证与授权服务
其他好文:
IdentityServer4 中文文档与实战(from 晓晨Master 李志强)
ASP.NET Core 中的那些认证中间件及一些重要知识点 (from savorboard 杨晓东)
使用IdentityServer4建立AuthorizationServer系列文章(from 草根专栏 杨旭)
Swagger如何访问Ocelot中带权限验证的API (from axzxs2001 桂素伟)
Ocelot.JwtAuthorize:一个基于网关的Jwt验证包 (from axzxs2001 桂素伟)
2.5 分布式追踪&日志
Skywalking:
在 ASP.NET Core 中集成 Skywalking APM (from savorboard 杨晓东)
Apache SkyWalking 为.NET Core带来开箱即用的分布式追踪和应用性能监控 (from Lemon 刘浩杨)
使用docker-compose 一键部署你的分布式调用链跟踪框架Skywalking (from 一线码农 黄星辰)
更多Skywalking分享:https://github.com/OpenSkywalking/Community
2.6 统一性能监控
基于App.Metrics+InfluxDB+Grafana实现统一性能监控
2.7 数据一致性&事件总线
基于MassTransit实现数据最终一致性(Part 1)
基于MassTransit实现数据最终一致性(Part 2)
CAP:
如何在你的项目中集成CAP(手把手视频教程)(from savorboard 杨晓东)
2.8 统一配置中心

2.9 Docker & CI/CD

ASP.NET Core on Docker (部署ASP.NET Core到Docker)
基于Jenkins+Docker实现持续集成(Part 1)=> 基于Linux的Jenkins安装与配置
基于Jenkins+Docker实现持续集成(Part 2)=> 基于Jenkins Pipeline的ASP.NET Core持续集成实践
其他好文:
ASP.NET Core & Docker & Jenkins 零基础持续集成(from 晓晨Master 李志强)
2.10 与Spring Cloud的集成
基于Steeltoe使用Spring Cloud Eureka实现服务注册与发现
基于Steeltoe集成Spring Cloud Zuul实现统一API网关
基于Steeltoe使用Spring Cloud Hystrix熔断保护与可视化监控
基于Steeltoe使用Spring Cloud Config统一管理配置
示例代码:https://github.com/Manulife-Chengdu/Microservice.PoC.Steeltoe
2.11 eShopOnContainers架构分析
下面的系列文章来自一位朋友:圣杰
① eShopOnContainers 知多少[1]:总体概览
② eShopOnContainers 知多少[2]:Run起来
③ eShopOnContainers 知多少[3]:Identity microservice
④ eShopOnContainers 知多少[4]:Catalog microservice
⑤ eShopOnContainers 知多少[5]: EventBus with RabbitMQ
⑥ eShopOnContainers 知多少[6]:持久化事件日志
⑦ eShopOnContainers 知多少[7]:Basket microservice
⑧ eShopOnContainers 知多少[8]:Ordering microservice
⑨ eShopOnContainers 知多少[9]:Ocelot gateways
⑩ eShopOnContainers 知多少[10]:部署到 K8S | AKS
2.12 其他
下面的系列文章来自一位园友:曹剑,这个系列文章把微服务的最重要的内容过了一遍。
① 微服务实战(一):落地微服务架构到直销系统(什么是微服务)
② 微服务实战(二):落地微服务架构到直销系统(构建消息总线框架接口)
③ 微服务实战(三):落地微服务架构到直销系统(构建基于RabbitMq的消息总线)
④ 微服务实战(四):落地微服务架构到直销系统(将生产者与消费者接入消息总线)
⑤ 微服务实战(五):落地微服务架构到直销系统(构建高性能大并发系统)
⑦ 微服务实战(七):落地微服务架构到直销系统(实现命令与命令处理器)
⑧ 微服务实战(八):落地微服务架构到直销系统(服务高可用性)
三、学习资料
这里分享一些学习.NET Core与微服务的学习资料:
① 杨中科,.NET Core微服务基础课程
② 张善友,NanoFabric简介(DNC在线峰会),NanoFabric GitHub: https://github.com/geffzhang/NanoFabric
③ 桂素伟,.NET Core微服务课程,基于.NET Core的微服务示例 GitHub: https://github.com/axzxs2001/HisMicroserviceSample
④ 刘腾飞(Jesse),ASP.NET Core分布式项目实战课程
⑤ 杨波,极客时间课程-微服务架构实战160讲 (此课程主要以Java技术栈讲解,但可以学习很多通用的知识点和思想)
⑥ Microsoft,.NET微服务:容器化.NET应用架构指南 (建议想要应用.NET Core微服务架构的童鞋必读此书),示例项目eShopOnContainers GitHub: https://github.com/dotnet-architecture/eShopOnContainers

⑦ 杨旭,草根专栏 ASP.NET Core Web API索引系列文章
......
除此之外,每篇文章后面都有参考资料,也都是值得学习的资料。
四、其他拓展
下面列两个基于Java技术栈的微服务框架学习示例,都是由我完整学习过的示例总结:

写在最后:学习与码字不易,需要花费我很多的个人时间和精力,如果你能点个赞,可以更加激励我的学习和分享,谢谢!
.NET Core微服务架构学习与实践系列文章索引目录的更多相关文章
- .NET Core 微服务学习与实践系列文章目录索引(2019版)
参考网址: https://archy.blog.csdn.net/article/details/103659692 2018年,我开始学习和实践.NET Core,并开始了微服务的学习,以及通过各 ...
- 微服务架构学习与思考(10):微服务网关和开源 API 网关01-以 Nginx 为基础的 API 网关详细介绍
微服务架构学习与思考(10):微服务网关和开源 API 网关01-以 Nginx 为基础的 API 网关详细介绍 一.为什么会有 API Gateway 网关 随着微服务架构的流行,很多公司把原有的单 ...
- 微服务架构学习与思考(11):开源 API 网关02-以 Java 为基础的 API 网关详细介绍
微服务架构学习与思考(11):开源 API 网关02-以 Java 为基础的 API 网关详细介绍 上一篇关于网关的文章: 微服务架构学习与思考(10):微服务网关和开源 API 网关01-以 Ngi ...
- .NET Core微服务之路:不断更新中的目录 (v0.43)
原文:.NET Core微服务之路:不断更新中的目录 (v0.43) 微服务架构,对于从事JAVA架构的童鞋来说,早已不是什么新鲜的事儿,他们有鼎鼎大名的Spring Cloud这样的全家桶框架支撑, ...
- Spring Cloud 微服务架构学习笔记与示例
本文示例基于Spring Boot 1.5.x实现,如对Spring Boot不熟悉,可以先学习我的这一篇:<Spring Boot 1.5.x 基础学习示例>.关于微服务基本概念不了解的 ...
- 基于Spring Boot和Spring Cloud实现微服务架构学习
转载自:http://blog.csdn.net/enweitech/article/details/52582918 看了几周Spring相关框架的书籍和官方demo,是时候开始总结下这中间的学习感 ...
- 基于Spring Boot和Spring Cloud实现微服务架构学习--转
原文地址:http://blog.csdn.net/enweitech/article/details/52582918 看了几周spring相关框架的书籍和官方demo,是时候开始总结下这中间的学习 ...
- 微服务架构学习与思考(09):分布式链路追踪系统-dapper论文学习
一.技术产生的背景 1.1 背景 先来了解一下分布式链路追踪技术产生的背景. 在现在这个发达的互联网世界,互联网的规模越来越大,比如 google 的搜索,Netflix 的视频流直播,淘宝的购物等. ...
- .NET Core 微服务架构 Steeltoe 使用(基于 Spring Cloud)
阅读目录: 1. Spring Cloud Eureka 注册服务及调用 2. Spring Cloud Hystrix 断路器 3. Spring Cloud Hystrix 指标监控 4. Spr ...
随机推荐
- go deep copy map
func deepCopyJSON(src map[string]interface{}, dest map[string]interface{}) error { if src == nil { r ...
- vue-cli webpack打包后index.html引入文件没有引号
参考地址:https://blog.csdn.net/i_coffer/article/details/81005733 在对vue-cli项目打包后出现index.html引入的css和js没有引号 ...
- duilib学习领悟(3)
世上本无窗口,窗口只是人的眼睛和电脑屏幕及鼠标键盘相互操作后的视觉效果! 下面我们来看看我们之前讲过的代码: class CDuiFrameWnd : public CWindowWnd, publi ...
- 用CSS实现定位DIV绝对位于网页底部
网上有一些解决方案,但会出现当改变窗口高度时,底部和正文重叠的BUG.尽管没有多少人会有事没事儿的去改变窗口高度,但设计嘛,追求的就是尽善尽美. 下面是我找到的一个比较完美的方法,来自国外的设计达人, ...
- FFmpeg处理音视频流程学习笔记
原文作者:一叶知秋0830 链接:https://www.jianshu.com/p/1b715966af50 FFmpeg处理音视频完整流程包括5个阶段(输入文件—>编码数据包—>解码后 ...
- 011_STM32程序移植之_内部flash开机次数管理
011_STM32程序移植之_内部flash开机次数管理 1. 测试环境:STM32C8T6 2. 测试接口: 3. 串口使用串口一,波特率9600 单片机引脚------------CH340引脚 ...
- Java BIO、NIO、AIO 原理
先来个例子理解一下概念,以银行取款为例: 同步 : 自己亲自出马持银行卡到银行取钱(使用同步IO时,Java自己处理IO读写). 异步 : 委托一小弟拿银行卡到银行取钱,然后给你(使用异步IO时,Ja ...
- MySQL percona-toolkit工具详解
一.检查和安装与Perl相关的模块 PT工具是使用Perl语言编写和执行的,所以需要系统中有Perl环境. 依赖包检查命令为: rpm -qa perl-DBI perl-DBD-MySQL perl ...
- .net大文件上传
ASP.NET上传文件用FileUpLoad就可以,但是对文件夹的操作却不能用FileUpLoad来实现. 下面这个示例便是使用ASP.NET来实现上传文件夹并对文件夹进行压缩以及解压. ASP.NE ...
- Comet OJ - Contest #2 (D 错综的光影所迷惑的思念是) 容斥计数
题意:给定一颗 $n$ 个节点的树,定义 $dis(x,y)$ 为树上点 $x$ 到 $y$ 的路径经过的边数. 定义一个点集 $S$ 的 $f(S)$ 为 $f(S)=max\left \{dis( ...