Photo :.NET Core

文 | Edison Zhou

2018年,我开始学习和实践.NET Core,并开始了微服务的学习,以及通过各种开源组件搭建服务治理技术方案,并在学习过程中总结了一个.NET Core微服务学习与实践系列文章,涵盖了服务发现、API网关、配置中心、验证授权、分布式日志、性能监控、事件总线等开源项目的使用,还介绍了基于Steeltoe这个开源项目让.NET Core可以在Spring Cloud框架下共享Spring Cloud带来便捷的服务治理效果。2019年,我补充和完善了一下这个系列的部分主题,虽然仍然有很多的遗漏和不足,仍然在此总结成目录分享给各位有需要的初学者朋友!

1  为何总结和收集此系列

2018年在前公司(简称M公司)从原来的Team里面被抽出来加入了新的Team,开始做Java微服务的开发工作,接触了Spring Boot, Spring Cloud等技术,对微服务这种架构风格有了一个感性的认识。虽然只做了两个多月的开发工作,但是对微服务架构的兴趣却没有结束,又因为自己的.NET背景(虽然对.NET的生态有点恨铁不成钢),想要探索一下在.NET平台下的微服务架构的可行性,也准备一些材料作为分享的素材。

幸运的是,在.NET Core首届在线峰会上,看到了很多前辈的分享,也增强了自己要摸索和实践.NET Core微服务架构的决心。因此,站在各位前辈的肩膀上(详见第四部分的学习资料),我学习并总结了这个系列的文章,主要面向有.NET后端开发背景(本系列不会主要讲解.NET Core,不过不会阻碍你的阅读),没有接触过或者很少接触微服务架构的初级开发童鞋,文中介绍的开源技术也不一定是最佳的选择。

此外,鉴于个人时间和精力有限,以及其他园友在特定领域已经取得的相关学习成果,我收集了一些其他园友的系列文章放在这个目录里边,方便大家快速定位查看学习。

2 服务发现与注册

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

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

基于Docker的Consul服务发现集群的搭建

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

3 熔断与降级

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

4 API网关

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

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

5 统一验证 & 授权

基于IdentityServer实现验证与授权服务(Part A)

基于IdentityServer实现验证与授权服务(Part B)

基于Ocelot+IdentityServer实现统一验证与授权服务

其他好文:

  • IdentityServer4 中文文档与实战(晓晨Master,https://www.cnblogs.com/stulzq/p/8119928.html)

  • ASP.NET Core 中的那些认证中间件及一些重要知识点 (杨晓东, https://www.cnblogs.com/savorboard/p/aspnetcore-authentication.html)

  • 使用IdentityServer4建立AuthorizationServer系列文章(杨旭, https://www.cnblogs.com/cgzl/default.html?page=11)

  • Swagger如何访问Ocelot中带权限验证的API (桂素伟, https://www.cnblogs.com/axzxs2001/p/9253495.html)

  • Ocelot.JwtAuthorize:一个基于网关的Jwt验证包 (桂素伟, https://www.cnblogs.com/axzxs2001/p/9250588.html)

6 分布式追踪 & 日志

基于Ocelot+Butterfly实现分布式追踪 (Note:推荐使用Skywalking,Buttefly作者Lemon称已不再维护)

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

Exceptionless生产环境部署指南(Windows Server版)

Exceptionless 5.0.0 部署指南(Docker版)

其他好文:

  • 在 ASP.NET Core 中集成 Skywalking APM (杨晓东, https://www.cnblogs.com/savorboard/p/asp-net-core-skywalking.html)

  • Apache SkyWalking 为.NET Core带来开箱即用的分布式追踪和应用性能监控 (刘浩杨, https://www.cnblogs.com/liuhaoyang/p/skywalking-dotnet-v02-release.html)

  • 使用docker-compose 一键部署你的分布式调用链跟踪框架Skywalking (一线码农, https://www.cnblogs.com/huangxincheng/p/9666930.html)

  • 更多Skywalking分享:https://github.com/OpenSkywalking/Community

7 统一性能监控

基于App.Metrics+InfluxDB+Grafana实现统一性能监控

8 事件总线 & 数据一致性

基于EasyNetQ使用RabbitMQ消息队列

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

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

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

其他好文:

  • 如何在你的项目中集成CAP(手把手视频教程)(来自CAP作者,微软MVP,大成都的大佬=>杨晓东, https://www.cnblogs.com/savorboard/p/cap-video-1.html)

9 统一配置中心

基于Apollo实现统一配置中心

10 Docker & DevOps

ASP.NET Core on Docker

Jenkins on Linux的安装与配置

基于Jenkins Pipeline的ASP.NET Core持续集成实践

基于Jenkins的开发测试全流程持续集成实践

其他好文:

  • ASP.NET Core & Docker & Jenkins 零基础持续集成(来自俺们大成都的大佬—晓晨Master,https://www.cnblogs.com/stulzq/p/8629165.html)

11 与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

12 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

参考资料:

杨中科,.NET Core微服务基础课程

张善友,NanoFabric简介(DNC在线峰会),NanoFabric

桂素伟,.NET Core微服务课程,基于.NET Core的微服务示例

刘腾飞(Jesse),ASP.NET Core分布式项目实战课程

杨波,极客时间课程-微服务架构实战160讲 (此课程主要以Java技术栈讲解,但可以学习很多通用的知识点和思想)

Microsoft,.NET微服务:容器化.NET应用架构指南

杨旭,草根专栏 ASP.NET Core Web API索引系列文章

The End

「 码字不易,也希望各位看官看完觉得还行就在本文右下方顺手点个“在看”,那就是对我最大的鼓励!如果觉得很好,也可以转发给你的朋友,让更多人看到,独乐乐不如众乐乐,是吧?

往期精彩回顾

.NET Core on K8S学习与实践系列文章索引目录

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

【导读】我读经典,心旷神怡 - 经典书籍读后感汇总

【导读】我的诗和远方 - 也读唐诗与旅游游记汇总

【资料】2019 .NET China Conf 大会资料下载

2019 .NET Conf China-路一直都在,社区会更好

基于Jenkins的开发测试全流程持续集成实践

基于Jenkins Pipeline的.NET Core持续集成实践

点个【在看】和他人一起分享

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

  1. 【C#】设计模式的学习征途系列文章目录(2019版)

    Photo :Design Patterns 文 | Edison Zhou 2017年,我开始系统学习设计模式,参考了<大话设计模式>.<设计模式的艺术>等书籍,并通过C#语 ...

  2. .NET Core on K8S 学习与实践系列文章索引 (更新至20191126)

    更新记录: -- 2019-11-26 增加Docker容器日志系列文章 近期在学习Kubernetes,基于之前做笔记的习惯,已经写了一部分文章,因此给自己立一个flag:完成这个<.NET ...

  3. .NET Core on K8S 学习与实践系列文章索引 (更新至20191116)

    更新记录: -- 2019-11-16 增加Docker容器监控系列文章 // 此外,今天是11月17日,我又老了一岁,祝我自己生日快乐! 近期在学习Kubernetes,基于之前做笔记的习惯,已经写 ...

  4. ASP.NET CORE 微服务(简化版)实战系列-没有比这性价比再高的实战课程了

    ASP.NET CORE 微服务(简化版)实战系列,最后1天298,现在注册购买再减50.作者jesse 腾飞在2.14 早上我买了他的课程后,他才做了下面这个活动: 作者jesse 腾飞花了大量的时 ...

  5. 微服务架构设计实践系列之五:架构准备阶段

    微服务架构设计实践系列之五:架构准备阶段 原文:微服务架构设计实践系列之五:架构准备阶段 版权声明: https://blog.csdn.net/beyondself_77/article/detai ...

  6. 微服务架构设计实践系列之九:应用架构

    微服务架构设计实践系列之九:应用架构 原文:微服务架构设计实践系列之九:应用架构 版权声明: https://blog.csdn.net/beyondself_77/article/details/7 ...

  7. 微服务架构设计实践系列之三:软件架构设计思想

    微服务架构设计实践 目    次 1 序言 2 微服务 3 软件架构设计思想 4 微服务架构设计实践 4.1 项目概述 4.2 架构准备阶段 4.3 概念架构阶段 4.4 细化架构阶段 4.4.1 业 ...

  8. Spring Cloud 微服务学习与实践

    第一章:微服务架构概述 1-1. 系统进化理论概述 在系统架构与设计的实践中,经历了两个阶段,一个阶段是早些年常见的集中式 系统,一个阶段是近年来流行的分布式系统: 集中式系统: 集中式系统也叫单体应 ...

  9. 【数据库系统】数据库系统学习与实践系列文章汇总目录(持续更新中)

    本文属于「数据库系统」系列文章的汇总目录,这一系列着重于「数据库系统知识的学习与实践」.由于文章内容随时可能发生更新变动,欢迎关注和收藏本文以作备忘.需要特别说明的是,为了透彻理解和全面掌握数据库系统 ...

最新文章

  1. php 比较字符串差,PHP字符串比较函数strcmp()和strcasecmp()使用总结
  2. 【CSS】【9】CSS盒子的浮动
  3. 基于 Android NDK 的学习之旅----- C调用Java
  4. WHERE WILL BUSINESS PHD GO?
  5. 计算机基础ABCDEF,计算机应用基础-在线作业ABCDEF.docx
  6. Android菜单详解(三)——SubMenu和IconMenu
  7. SAFEARRAY使用方法示例
  8. Python使用pandas读取Excel文件多个WorkSheet的数据并绘制柱状图和热力图
  9. Aho-Corasick算法
  10. 潘建伟团队再次刷新世界纪录:实现18个光量子比特纠缠
  11. android列表的默认值,ListPreference默认值没有显示
  12. Day_05显示变量的值
  13. 饥荒服务器运行时cpu的占用,饥荒联机版服务器卡顿原因分析及解决教程 服务器卡怎么办-游侠网...
  14. 利用布尔运算可以做出怎样的PPT特效
  15. Summarization 文本摘要进展
  16. linux C语言多线程 轻进程 LWP:Light Weight Process
  17. [学习SLAM] 3D可视化 只viz模块和pangolin
  18. 服务器开启防火墙后无法登录系统,客户端连不上,服务器防火墙服务启动不了...
  19. 如何让div靠右_如何让div靠右
  20. Logback - SiftingAppender

热门文章

  1. 【转】了解SQL Server触发器及触发器中的事务
  2. Asp组件中级入门与精通系列之五
  3. 用SharpZipLib来压缩和解压文件 --zt
  4. drools简单应用
  5. Python统计列表中的重复项出现的次数的方法
  6. 苹果、联想及华硕均看准美国电脑运输的增长
  7. SSH连接linux时,长时间不操作就断开的解决方案
  8. Oracle 之 管理
  9. 安装分布式文件系统MooseFS
  10. C 语言中的内存分析