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


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的初步使用与数据最终一致性

其他好文:

9 统一配置中心

基于Apollo实现统一配置中心

10 Docker & DevOps

ASP.NET Core on Docker

Jenkins on Linux的安装与配置

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

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

其他好文:

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持续集成实践


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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/312590.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

dapr微服务.net sdk入门

Actors入门先决条件.Net Core SDK 3.0Dapr CLIDapr DotNet SDK概述本文档描述如何在客户端应用程序上创建Actor(MyActor)并调用其方法.MyActor --- MyActor.Interfaces|- MyActorService|- MyActorClient接口项目(\MyActor\MyActor.Interface…

TPL Dataflow组件应对高并发,低延迟要求

长话短说2C互联网业务增长,单机多核的共享内存模式带来的排障问题、编程困难;随着多核时代和分布式系统的到来,共享模型已经不太适合并发编程,因此actor-based模型又重新受到了人们的重视。---------------------------调试过多线…

abp模块生命周期设计思路剖析

abp中将生命周期事件抽象为4个接口://预初始化 public interface IOnPreApplicationInitialization {void OnPreApplicationInitialization([NotNull] ApplicationInitializationContext context); }//初始化 public interface IOnApplicationInitialization {void …

.Net Core + 微信赋能企业级智能客服系统--学习笔记

摘要围绕目前需求猛增的微信及移动端企业智能客服业务,利用 .NET Core 的一系列优秀特性及 SignalR 模块打造全双工、跨微信/QQ/钉钉等应用平台、跨系统平台、跨终端、支持企业级并发的移动端客服系统。讲师介绍目录微信应用生态简介微信小程序基础通讯原理Senparc.…

基于docker-compose的Gitlab CI/CD实践排坑指南

长话短说经过长时间实操验证,终于完成基于Gitlab的CI/CD实践,本次实践的坑位很多, 实操过程尽量接近最佳实践(不做hack, 不做骚操作),记录下来加深理解。看过博客园《docker-compose真香》一文的园友留意到…

Is It a Complete AVL Tree AVL树

思路: 考察的点是建立AVL树以及如何判断是否为满二叉树。 建立AVL树需要搞清楚LL、LR、RR、RL四种情况如何左旋和右旋,如下: 类型BF条件操作LLBF(root)2,BF(root->lchild)1root右旋LRBF(root)2,BF(root->lchild)-1先root->lchild左…

AcWing 删减 栈思想

思路: 这道题要是不卡时间复杂度,是道大水题,然而字符串的长度到了6次方,若使用string中的erase函数,看似时间复杂度不高,其实,每次删除子字符串后,后边的字符串需要移动到前面来&am…

读《可复制的领导力》

最近很忙,是特别忙,连上厕所的时间都在回复着各种消息,但还是挤时间看完了《可复制的领导力》,这本书也是领导推荐的。说起领导力,大多数人都会觉得得靠悟,并不能做到言传身教,但书名中却提到了…

AcWing 构造数组 区间合并

思路: 这道题第一眼来看以为是动态规划类型的题目,然而尝试了用dp的方法做,然而超时了,过了差不多一半的测试店,显示的是超时。那么应该来说动态规划是可以做的,但数据卡的比较严。在看其他同学的评论后&am…

为什么需要动态SQL

为什么需要动态SQL在使用 EF或者写 SQL语句时,查询条件往往是这样一种非常常见的逻辑:如果客户填了查询信息,则查询该条件;如果客户没填,则返回所有数据。我常常看到很多人解决这类问题时使用了错误的静态 SQL的解决办…

【好文】为什么必须学好.Net Core?怎样弯道超车新年高薪?这样做,一周就够了!(文末彩蛋)...

都2020了你还不会.Net Core?恕我直言,2020年还不会.Net Core是会被淘汰的!12月3号,.Net Core3.1的LTS版正式发布,4年来7个正式版本和几十个Preview版本,热烈可见一斑!越来越多的互联网软件公司开…

基于 Kubernetes 的基础设施即代码

11 月 9、10 号两天,.NET 社区第一次以“.NET 大会”为品牌在上海召开了第一届峰会,现场与会者达到 600 人规模。大会的第 1 天是各类演讲分享,第 2 天有多个动手实践课。张善友队长、 刘腾飞 和我一起策划了基于 Kubernetes 的 .NET Core 微…

Steeltoe 2.4新增代码生成工具、全新入门指南等,助力.NET微服务开发

Steeltoe框架现可帮助.NET开发人员创建云原生应用。随着其功能的扩充,该框架越来越受欢迎,下载量达到580万(并且仍在增加),这其中大部分的功能创新都源自于用户反馈、社区贡献和.NET运行环境各方面的改进。但这些还不够…

2019 年终回顾:不忘初心,负重前行

点击上方蓝字关注“汪宇杰博客”导语2019 年就要接近尾声,这一年对于我来说,有许多有意义的事件。我成长了许多,并依然保持着对技术的热情。在辞旧迎新之际,我想回顾一下我这一年中有意义的事件与收获,期待与大家一起在…

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

Photo :Design Patterns文 | Edison Zhou2017年,我开始系统学习设计模式,参考了《大话设计模式》、《设计模式的艺术》等书籍,并通过C#语言写了各种模式的代码示例(已经放到了我的github上并收获了120个star&#xff0…

原创 | 为什么年终奖是一个彻头彻尾的职场圈套?

0前言之前写过几篇职场专题的文章,反响不错,也先后被不少公众号转载过,这几天来了不少新朋友,如果之前没阅读过,可以在后台回复“职场”2个字,查看系列文章。转眼又到年底了,不知道有多少人在心…

Blazor 机制初探以及什么是前后端分离,还不赶紧上车?

上一篇文章发了一个 BlazAdmin 的尝鲜版基于 Blazui 的 Blazor 后台管理模板 BlazAdmin 正式尝鲜,这一次主要聊聊 Blazor 是如何做到用 C# 来写前端的,传送门:https://www.cnblogs.com/wzxinchen/p/12057171.html飚车前需要说明的一点是&…

云原生

一、云原生概念的诞生云原生(Cloud Native)的概念,由来自Pivotal的MattStine于2013年首次提出,被一直延续使用至今。这个概念是Matt Stine根据其多年的架构和咨询经验总结出来的一个思想集合,并得到了社区的不断完善&a…

基于 Kubernetes 的 CICD 基础设施即代码

在上一篇基于 Kubernetes 的基础设施即代码一文中,我概要地介绍了基于 Kubernetes 的 .NET Core 微服务和 CI/CD 动手实践工作坊 使用的基础设施是如何使用代码描述的,以及它的自动化执行过程。如果要查看基于 Kubernetes 的基础设施即代码架构全图&…

Azure Arc:微软是怎么玩多云游戏的?

混合云在竞争性云提供商的基础上提供了来自云提供商的服务,从而使组织能够以不同方式一起使用来自不同供应商的云服务。例如,组织可以使用将数据存储在一个云中存储上的功能,而另一个云服务商则在该应用程序或数据之上运行。因此,…