天天看點

.NET Core 微服務架構學習與實踐系列文章目錄

.NET Core 微服務架構學習與實踐系列文章目錄

今年從原來的Team裡面被抽出來加入了新的Team,開始使用做Java微服務的開發工作,接觸了Spring Boot與Spring Cloud等技術,對微服務這種架構有了一個感性的認識。雖然隻做了兩個月的開發工作,但是對微服務架構的興趣卻沒有結束,又因為自己的.NET技術背景,想要探索一下在.NET平台下的微服務架構的可行性。自己摸索和實踐.NET Core微服務架構之後,寫下這個系列的文章。

一、為啥要總結和收集這個系列?

  

.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 服務發現&注冊&通信

  基于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之生産環境部署步驟

  Exceptionless 5.0.0 Docker快速部署指南

  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 統一配置中心

  

.NET Core 微服務架構學習與實踐系列文章目錄

  基于Apollo實作統一配置中心

2.9 Docker & CI/CD

  

.NET Core 微服務架構學習與實踐系列文章目錄

  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的內建

  

.NET Core 微服務架構學習與實踐系列文章目錄

  基于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 

  

.NET Core 微服務架構學習與實踐系列文章目錄

  ⑦ 楊旭,草根專欄 ASP.NET Core Web API索引系列文章

  ......

  除此之外,每篇文章後面都有參考資料,也都是值得學習的資料。

四、其他拓展

下面列兩個基于Java技術棧的微服務架構學習示例,都是由我完整學習過的示例總結:

  ①  Spring Boot 1.5.x 基礎學習示例

  ②  Spring Cloud 微服務架構基礎學習筆記與示例

  

.NET Core 微服務架構學習與實踐系列文章目錄

更多分享

  本文首發于我的公衆号“EdisonTalk”,此公衆号會長期關注和分享.NET Core、微服務、雲原生、DevOps 及 企業數字化轉型等技術内容文章,還會與你分享個人生活成長的點滴及各類好書的讀書筆記,希望能對你有所幫助,一起成長!

寫在最後:學習與碼字不易,需要花費我很多的個人時間和精力,如果你能點個贊,可以更加激勵我的學習和分享,謝謝!

作者:周旭龍

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

本文版權歸作者和部落格園共有,歡迎轉載,但未經作者同意必須保留此段聲明,且在文章頁面明顯位置給出原文連結。