一、为啥要总结和收集这个系列?

  

  今年从原来的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 服务发现&注册&通信

  基于Consul实现服务治理(Part 1)

  基于Consul实现服务治理(Part 2)

  服务间的通信调用方式(REST and RPC)

2.2 熔断&降级

  基于Polly+AspectCore实现熔断与降级机制

2.3 API网关

  基于Ocelot实现API网关服务(Part 1)

  基于Ocelot实现API网关服务(Part 2)

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 分布式追踪&日志

  基于Ocelot+Butterfly实现分布式追踪

  基于Exceptionless实现分布式日志记录

  分布式日志框架Exceptionless之生产环境部署步骤

  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 数据一致性&事件总线

  基于EasyNetQ使用RabbitMQ消息队列

  基于MassTransit实现数据最终一致性(Part 1)

  基于MassTransit实现数据最终一致性(Part 2)

  基于开源项目CAP的初步使用与数据最终一致性

  CAP:

  如何在你的项目中集成CAP(手把手视频教程)(from savorboard 杨晓东)

2.8 统一配置中心

  

  基于Apollo实现统一配置中心

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统一管理配置

  基于Steeltoe使用Zipkin实现分布式追踪

  示例代码:https://github.com/Manulife-Chengdu/Microservice.PoC.Steeltoe

2.11 eShopOnContainers架构分析

  《.NET微服务:容器化.NET应用架构指南》学习笔记

  下面的系列文章来自一位朋友:圣杰

  ①  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技术栈的微服务框架学习示例,都是由我完整学习过的示例总结:

  ①  Spring Boot 1.5.x 基础学习示例

  ②  Spring Cloud 微服务架构基础学习笔记与示例

  

写在最后:学习与码字不易,需要花费我很多的个人时间和精力,如果你能点个,可以更加激励我的学习和分享,谢谢!

作者:周旭龙

出处:http://edisonchou.cnblogs.com

本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文链接。

.NET Core微服务系列基础文章索引(目录导航Final版)的更多相关文章

  1. .NET Core微服务系列基础文章索引(目录导航Draft版)

    一.为啥要写这个系列? 今年从原来的Team里面被抽出来加入了新的Team,开始做Java微服务的开发工作,接触了Spring Boot, Spring Cloud等技术栈,对微服务这种架构有了一个感 ...

  2. .NET Core微服务系列基础文章

    今年从原来的Team里面被抽出来加入了新的Team,开始做Java微服务的开发工作,接触了Spring Boot, Spring Cloud等技术栈,对微服务这种架构有了一个感性的认识.虽然只做了两个 ...

  3. .Net Core微服务系列--配置中心

    什么是配置中心 简单来说配置中心就是对配置进行管理的一个中心.对于配置这个司空见惯的东西,我们想想为什么对于应用程序需要各种各样的配置来支撑? 我们人类没有办法掌控和预知一切,所以映射到软件系统这个领 ...

  4. .Net Core微服务系列--服务发现

    什么是服务发现 首先我们先思考一个问题,当我们在浏览器中输入一个域名比如baidu.com,然后发生了什么才能让我们访问到百度的网页?简单来说,浏览器会首先从主机的hosts文件中查看是否有baidu ...

  5. .Net Core微服务系列--理论篇

    微服务的由来 微服务最早由Martin Fowler与James Lewis于2014年共同提出来的,但是微服务也不是一个全新的概念,它是由一系列在实践中获得成功并流行起来的概念中总结出来的一种模式, ...

  6. .Net Core微服务系列--开篇

    记得原来有个项目是用wcf做的分布式,不仅横向根据业务拆分了,纵向把业务处理.数据访问等也拆分了成不同的服务,这个是当时公司的产品我也只是一个小小的开发人员所以就不做太多的评论,只是不得不吐槽下调试真 ...

  7. .NET Core微服务之路:文章系列和内容索引汇总 (v0.52)

    微服务架构,对于从事JAVA架构的童鞋来说,早已不是什么新鲜的事儿,他们有鼎鼎大名的Spring Cloud这样的全家桶框架支撑,包含微服务核心组件如 1. Eureka:实现服务注册与发现. 2. ...

  8. .NET Core微服务架构学习与实践系列文章索引目录

    一.为啥要总结和收集这个系列? 今年从原来的Team里面被抽出来加入了新的Team,开始做Java微服务的开发工作,接触了Spring Boot, Spring Cloud等技术栈,对微服务这种架构有 ...

  9. .NET Core 微服务学习与实践系列文章目录索引(2019版)

    参考网址: https://archy.blog.csdn.net/article/details/103659692 2018年,我开始学习和实践.NET Core,并开始了微服务的学习,以及通过各 ...

随机推荐

  1. 手把手教你全家桶之React(二)

    前言 上一篇已经讲了一些react的基本配置,本遍接着讲热更新以及react+redux的配置与使用. 热更新 我们在实际开发时,都有用到热更新,在修改代码后,不用每次都重启服务,而是自动更新.并而不 ...

  2. linux配置https站点

    配置https站点呢,那就需要https证书,证书从何而来,花钱买?no,no,no,阿里有免费的,只是比较难发现,下面就图文解说一下怎么买免费的阿里https证书 首先阿里云,登录,购买链接———— ...

  3. AE的空间分析(转载)

    1.1 ITopologicalOperator接口 1.1.1 ITopologicalOperator接口简介ITopologicalOperator接口用来通过对已存在的几何对象做空间拓扑运算以 ...

  4. vue实现双向数据绑定的原理

    vue实现双向数据绑定的原理就是利用了 Object.defineProperty() 这个方法重新定义了对象获取属性值(get)和设置属性值(set)的操作来实现的. 在MDN上对该方法的说明是:O ...

  5. DX11 Without DirectX SDK--使用Windows SDK来进行开发

    在看龙书(Introduction to 3D Game Programming with Directx 11)的时候,里面所使用的开发工具包为Microsoft DirectX SDK(June ...

  6. Windows安装TensorFlow

    1.下载安装Anaconda 官方地址:https://www.continuum.io/downloads/镜像地址:https://mirrors.tuna.tsinghua.edu.cn/ana ...

  7. Unity3D学习(四):小游戏Konster的整体代码重构

    前言 翻了下之前写的代码,画了个图看了下代码结构,感觉太烂了,有很多地方的代码重复啰嗦,耦合也紧,开个随笔记录下重构的过程. 过程 _____2017.10.13_____ 结构图: 目前发现的待改进 ...

  8. [Mysql]——通过例子理解事务的4种隔离级别(转)

    SQL标准定义了4种隔离级别,包括了一些具体规则,用来限定事务内外的哪些改变是可见的,哪些是不可见的. 低级别的隔离级一般支持更高的并发处理,并拥有更低的系统开销. 一.事务隔离级别分类 第1级别:R ...

  9. Collections.synchronizedMap()、ConcurrentHashMap、Hashtable之间的区别

    为什么要比较Hashtable.SynchronizedMap().ConcurrentHashMap之间的关系?因为常用的HashMap是非线程安全的,不能满足在多线程高并发场景下的需求. 那么为什 ...

  10. 分布式计算框架Gearman原理详解

    什么是Gearman? Gearman提供了一个通用的应用程序框架,用于将工作转移到更适合于工作的其他机器或流程.它允许你并行工作,负载平衡处理,并在语言间调用函数.它可用于从高可用性网站到传输数据库 ...