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

2018-08-20 10:09:40 浏览数 (1)

一、为啥要写这个系列?

ASP.Net CoreASP.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等),拥抱开源,任重而道远!

二、内容索引

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实现统一验证与授权服务

2.5 分布式追踪&日志

基于Ocelot Butterfly实现分布式追踪

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

2.6 统一性能监控

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

2.7 数据一致性&事件总线

基于EasyNetQ使用RabbitMQ消息队列

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

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

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

2.8 统一配置中心

基于Apollo实现统一配置中心

2.9 Docker&K8S

ASP.NET Core on Docker

2.10 与Spring Cloud的集成

2.11 eShopOnContainers架构分析(待定)

三、示例代码

  Click Here => ???

四、学习资料

这里分享一些学习.NET Core微服务的绝佳学习资料:

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

.NET Core微服务基础课程.NET Core微服务基础课程

张善友,NanoFabric简介(DNC在线峰会),NanoFabric GitHub: https://github.com/geffzhang/NanoFabric

桂素伟,.NET Core微服务课程,基于.NET Core的微服务示例 GitHub: https://github.com/axzxs2001/HisMicroserviceSample

Microsoft,.NET微服务:容器化.NET应用架构指南,示例项目eShopOnContainers GitHub: https://github.com/dotnet-architecture/eShopOnContainers 

容器化.NET应用架构指南容器化.NET应用架构指南

......

除此之外,每篇文章后面都有参考资料,也都是值得学习的资料。

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

0 人点赞