.NET Core 微服務學習與實踐系列文章目錄索引(2019版)

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索引系列文章

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章