.NET Core微服务系列基础文章索引(目录导航Final版)
一、為啥要總結(jié)和收集這個(gè)系列?
今年從原來(lái)的Team里面被抽出來(lái)加入了新的Team,開(kāi)始做Java微服務(wù)的開(kāi)發(fā)工作,接觸了Spring Boot, Spring Cloud等技術(shù)棧,對(duì)微服務(wù)這種架構(gòu)有了一個(gè)感性的認(rèn)識(shí)。雖然只做了兩個(gè)月的開(kāi)發(fā)工作,但是對(duì)微服務(wù)架構(gòu)的興趣卻沒(méi)有結(jié)束,又因?yàn)樽约旱?NET背景(雖然對(duì).NET的生態(tài)有點(diǎn)恨鐵不成鋼),想要探索一下在.NET平臺(tái)下的微服務(wù)架構(gòu)的可行性,也準(zhǔn)備一些材料作為分享的素材。
幸運(yùn)的是,在.NET Core首屆在線峰會(huì)上,看到了很多前輩的分享,也增強(qiáng)了自己要摸索和實(shí)踐.NET Core微服務(wù)架構(gòu)的決心。因此,站在各位前輩的肩膀上(詳見(jiàn)第四部分的學(xué)習(xí)資料),我學(xué)習(xí)并總結(jié)了這個(gè)系列的文章,主要面向有.NET Web開(kāi)發(fā)背景(本系列不會(huì)主要講解.NET Core,不過(guò)不會(huì)阻礙你的閱讀),沒(méi)有接觸過(guò)或者很少接觸微服務(wù)架構(gòu)的初級(jí)開(kāi)發(fā)童鞋,文中介紹的開(kāi)源技術(shù)也不一定是最佳的選擇,事實(shí)上混合式架構(gòu)(Linux+Windows+開(kāi)源組合)與Docker+K8S的組合已經(jīng)成了現(xiàn)在主流企業(yè)級(jí)和互聯(lián)網(wǎng)項(xiàng)目的(默認(rèn))標(biāo)準(zhǔn),重點(diǎn)是大家轉(zhuǎn)變這個(gè)思路,擁抱Open Source,擁抱Cloud,也擁抱.NET Core,才會(huì)讓.NET的生態(tài)好起來(lái)。魯迅先生說(shuō),“世上本無(wú)路,走的人多了也就成了路”,對(duì)于.NET生態(tài)也一樣,只有我們擁抱的人(這里主要指使用.NET相關(guān)開(kāi)源技術(shù)的人)多了,也才會(huì)有好的生態(tài),特與君共勉。當(dāng)然,這里并不是說(shuō)要抱死.NET,或者鼓吹.NET多么好,沒(méi)有絕對(duì)好的技術(shù)棧,只有剛剛好的業(yè)務(wù)需求,愛(ài).NET Core,也不排斥Java等其他技術(shù)棧,相互合作,共同構(gòu)建,脫離微軟(這里指廣義上的老一代微軟全家桶:ASP.NET+MSSQL+WindowsServer等),擁抱開(kāi)源,任重而道遠(yuǎn)!
此外,鑒于個(gè)人時(shí)間和精力有限,以及其他園友在特定領(lǐng)域已經(jīng)取得的相關(guān)學(xué)習(xí)成果,我還會(huì)不定期收集一些其他園友的系列文章放在這個(gè)索引里邊,方便大家快速定位查看學(xué)習(xí)。
最后,由于個(gè)人的職業(yè)規(guī)劃,我即將離開(kāi)現(xiàn)在的公司(當(dāng)然,并不是說(shuō)現(xiàn)在的公司不好,而是個(gè)人對(duì).NET的初戀情結(jié))去一家新的公司去實(shí)踐.NET Core,使用開(kāi)源技術(shù)(有可能會(huì)給園子里的開(kāi)源項(xiàng)目提Issue,也盡力積極提PR),實(shí)踐微服務(wù),實(shí)踐架構(gòu)設(shè)計(jì),后續(xù)也會(huì)實(shí)踐大數(shù)據(jù),去經(jīng)歷一些之前經(jīng)歷不到的路程,也希望可以在后續(xù)分享一些實(shí)踐系列的文章到博客園。如果有成都地區(qū)的園友想要來(lái)實(shí)踐.NET Core的,也可以聯(lián)系我,我司也在招聘優(yōu)秀的.NET程序猿來(lái)一起搞事情。
二、重點(diǎn)內(nèi)容索引
2.1 服務(wù)發(fā)現(xiàn)&注冊(cè)&通信
基于Consul實(shí)現(xiàn)服務(wù)治理(Part 1)
基于Consul實(shí)現(xiàn)服務(wù)治理(Part 2)
服務(wù)間的通信調(diào)用方式(REST and RPC)
2.2 熔斷&降級(jí)
基于Polly+AspectCore實(shí)現(xiàn)熔斷與降級(jí)機(jī)制
2.3 API網(wǎng)關(guān)
基于Ocelot實(shí)現(xiàn)API網(wǎng)關(guān)服務(wù)(Part 1)
基于Ocelot實(shí)現(xiàn)API網(wǎng)關(guān)服務(wù)(Part 2)
2.4 統(tǒng)一驗(yàn)證&授權(quán)
基于IdentityServer實(shí)現(xiàn)授權(quán)與驗(yàn)證服務(wù)(Part 1)
基于IdentityServer實(shí)現(xiàn)授權(quán)與驗(yàn)證服務(wù)(Part 2)
基于Ocelot+IdentityServer實(shí)現(xiàn)統(tǒng)一驗(yàn)證與授權(quán)服務(wù)
其他好文:
IdentityServer4 中文文檔與實(shí)戰(zhàn)(from 曉晨Master 李志強(qiáng))
ASP.NET Core 中的那些認(rèn)證中間件及一些重要知識(shí)點(diǎn)?(from savorboard?楊曉東)
使用IdentityServer4建立AuthorizationServer系列文章(from 草根專(zhuān)欄 楊旭)
Swagger如何訪問(wèn)Ocelot中帶權(quán)限驗(yàn)證的API?(from axzxs2001 桂素偉)
Ocelot.JwtAuthorize:一個(gè)基于網(wǎng)關(guān)的Jwt驗(yàn)證包?(from axzxs2001 桂素偉)
2.5 分布式追蹤&日志
基于Ocelot+Butterfly實(shí)現(xiàn)分布式追蹤
基于Exceptionless實(shí)現(xiàn)分布式日志記錄
分布式日志框架Exceptionless之生產(chǎn)環(huán)境部署步驟
Skywalking:
在 ASP.NET Core 中集成 Skywalking APM?(from savorboard 楊曉東)
Apache?SkyWalking?為.NET Core帶來(lái)開(kāi)箱即用的分布式追蹤和應(yīng)用性能監(jiān)控?(from Lemon 劉浩楊)
使用docker-compose 一鍵部署你的分布式調(diào)用鏈跟蹤框架Skywalking?(from 一線碼農(nóng) 黃星辰)
更多Skywalking分享:https://github.com/OpenSkywalking/Community
2.6 統(tǒng)一性能監(jiān)控
基于App.Metrics+InfluxDB+Grafana實(shí)現(xiàn)統(tǒng)一性能監(jiān)控
2.7 數(shù)據(jù)一致性&事件總線
基于EasyNetQ使用RabbitMQ消息隊(duì)列
基于MassTransit實(shí)現(xiàn)數(shù)據(jù)最終一致性(Part 1)
基于MassTransit實(shí)現(xiàn)數(shù)據(jù)最終一致性(Part 2)
基于開(kāi)源項(xiàng)目CAP的初步使用與數(shù)據(jù)最終一致性
CAP:
如何在你的項(xiàng)目中集成CAP(手把手視頻教程)(from savorboard?楊曉東)
2.8 統(tǒng)一配置中心
基于Apollo實(shí)現(xiàn)統(tǒng)一配置中心
2.9 Docker & CI/CD
ASP.NET Core on Docker (部署ASP.NET Core到Docker)?
基于Jenkins+Docker實(shí)現(xiàn)持續(xù)集成(Part 1)=> 基于Linux的Jenkins安裝與配置
基于Jenkins+Docker實(shí)現(xiàn)持續(xù)集成(Part 2)=> 基于Jenkins Pipeline的ASP.NET Core持續(xù)集成實(shí)踐
其他好文:
ASP.NET Core & Docker & Jenkins 零基礎(chǔ)持續(xù)集成(from 曉晨Master 李志強(qiáng))
2.10 與Spring Cloud的集成
基于Steeltoe使用Spring Cloud Eureka實(shí)現(xiàn)服務(wù)注冊(cè)與發(fā)現(xiàn)
基于Steeltoe集成Spring Cloud Zuul實(shí)現(xiàn)統(tǒng)一API網(wǎng)關(guān)
基于Steeltoe使用Spring Cloud Hystrix熔斷保護(hù)與可視化監(jiān)控
基于Steeltoe使用Spring Cloud Config統(tǒng)一管理配置
基于Steeltoe使用Zipkin實(shí)現(xiàn)分布式追蹤
示例代碼:https://github.com/Manulife-Chengdu/Microservice.PoC.Steeltoe
2.11 eShopOnContainers架構(gòu)分析
《.NET微服務(wù):容器化.NET應(yīng)用架構(gòu)指南》學(xué)習(xí)筆記
下面的系列文章來(lái)自一位朋友:圣杰
①??eShopOnContainers 知多少[1]:總體概覽
②??eShopOnContainers 知多少[2]:Run起來(lái)
③??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 其他
下面的系列文章來(lái)自一位園友:曹劍,這個(gè)系列文章把微服務(wù)的最重要的內(nèi)容過(guò)了一遍。
①??微服務(wù)實(shí)戰(zhàn)(一):落地微服務(wù)架構(gòu)到直銷(xiāo)系統(tǒng)(什么是微服務(wù))
②??微服務(wù)實(shí)戰(zhàn)(二):落地微服務(wù)架構(gòu)到直銷(xiāo)系統(tǒng)(構(gòu)建消息總線框架接口)
③??微服務(wù)實(shí)戰(zhàn)(三):落地微服務(wù)架構(gòu)到直銷(xiāo)系統(tǒng)(構(gòu)建基于RabbitMq的消息總線)
④??微服務(wù)實(shí)戰(zhàn)(四):落地微服務(wù)架構(gòu)到直銷(xiāo)系統(tǒng)(將生產(chǎn)者與消費(fèi)者接入消息總線)
⑤??微服務(wù)實(shí)戰(zhàn)(五):落地微服務(wù)架構(gòu)到直銷(xiāo)系統(tǒng)(構(gòu)建高性能大并發(fā)系統(tǒng))
⑥? 微服務(wù)實(shí)戰(zhàn)(六):落地微服務(wù)架構(gòu)到直銷(xiāo)系統(tǒng)(事件存儲(chǔ))
⑦??微服務(wù)實(shí)戰(zhàn)(七):落地微服務(wù)架構(gòu)到直銷(xiāo)系統(tǒng)(實(shí)現(xiàn)命令與命令處理器)
⑧??微服務(wù)實(shí)戰(zhàn)(八):落地微服務(wù)架構(gòu)到直銷(xiāo)系統(tǒng)(服務(wù)高可用性)
⑨??微服務(wù)實(shí)戰(zhàn)(九):落地微服務(wù)架構(gòu)到直銷(xiāo)系統(tǒng)(回顧總結(jié))
三、學(xué)習(xí)資料
這里分享一些學(xué)習(xí).NET Core與微服務(wù)的學(xué)習(xí)資料:
①??楊中科,.NET Core微服務(wù)基礎(chǔ)課程
②??張善友,NanoFabric簡(jiǎn)介(DNC在線峰會(huì)),NanoFabric GitHub:?https://github.com/geffzhang/NanoFabric
③? 桂素偉,.NET Core微服務(wù)課程,基于.NET Core的微服務(wù)示例 GitHub:?https://github.com/axzxs2001/HisMicroserviceSample
④??劉騰飛(Jesse),ASP.NET Core分布式項(xiàng)目實(shí)戰(zhàn)課程
⑤??楊波,極客時(shí)間課程-微服務(wù)架構(gòu)實(shí)戰(zhàn)160講?(此課程主要以Java技術(shù)棧講解,但可以學(xué)習(xí)很多通用的知識(shí)點(diǎn)和思想)
⑥? Microsoft,.NET微服務(wù):容器化.NET應(yīng)用架構(gòu)指南?(建議想要應(yīng)用.NET Core微服務(wù)架構(gòu)的童鞋必讀此書(shū)),示例項(xiàng)目eShopOnContainers GitHub:?https://github.com/dotnet-architecture/eShopOnContainers?
⑦ 楊旭,草根專(zhuān)欄 ASP.NET Core Web API索引系列文章
......
除此之外,每篇文章后面都有參考資料,也都是值得學(xué)習(xí)的資料。
四、其他拓展
下面列兩個(gè)基于Java技術(shù)棧的微服務(wù)框架學(xué)習(xí)示例,都是由我完整學(xué)習(xí)過(guò)的示例總結(jié):
①??Spring Boot 1.5.x 基礎(chǔ)學(xué)習(xí)示例
②??Spring Cloud 微服務(wù)架構(gòu)基礎(chǔ)學(xué)習(xí)筆記與示例
?
寫(xiě)在最后:學(xué)習(xí)與碼字不易,需要花費(fèi)我很多的個(gè)人時(shí)間和精力,如果你能點(diǎn)個(gè)贊,可以更加激勵(lì)我的學(xué)習(xí)和分享,謝謝!
?
作者:周旭龍
出處:http://edisonchou.cnblogs.com
本文版權(quán)歸作者和博客園共有,歡迎轉(zhuǎn)載,但未經(jīng)作者同意必須保留此段聲明,且在文章頁(yè)面明顯位置給出原文鏈接。
轉(zhuǎn)載于:https://www.cnblogs.com/edisonchou/p/dotnetcore_microservice_foundation_blogs_index_final.html
總結(jié)
以上是生活随笔為你收集整理的.NET Core微服务系列基础文章索引(目录导航Final版)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 全网唯一的Microsoft?NETFr
- 下一篇: React、Vue、Angular对比