![](https://img.laitimes.com/img/_0nNw4CM6IyYiwiM6ICdiwiIn5GcuYjZ1QmZmljNkR2MiRGMldTY2gTYhBDNzkDN0ITY1QDZfdWbp9CXt92Yu4GZjlGbh5SZslmZxl3Lc9CX6MHc0RHaiojIsJye.png)
微服務架構,對于從事JAVA架構的童鞋來說,早已不是什麼新鮮的事兒,他們有鼎鼎大名的Spring Cloud這樣的全家桶架構支撐,包含微服務核心元件如
1. Eureka:實作服務注冊與發現。
2. Zuul:實作統一API網關。
https://www.cnblogs.com/edisonchou/p/dotnet_core_microservice_integrate_with_springcloud_zuul.html3. Hystrix:實作熔斷保護與可視化監控。
4. Config:實作統一管理配置。
(還有更多元件,歡迎補充)
都是我們NET程式員夢寐以求的元件,而.NET Core發展至今,也專門是為微服務提供的架構平台,隻是目前處于各路神仙各顯神通的階段,沒有一個統一的架構體系來完成和維護這樣的架構集,當然,筆者也是按照目前在NET上所了解到的開源架構摸着石頭一個一個的尋找和研究,誰叫我是NET的忠實粉呢,是以,筆者也特意開出一個系列來詳細探讨NET Core微服務架構體系的各種知識,水準有限,歡迎拍磚。
一:服務注冊與發現
基于Consul最少化叢集實作服務的注冊與發現(一)
本節介紹Consul最小化叢集的安裝,以及用ASP.NET Core快速建立一個服務,并将這個服務注冊到Consul上。
基于Consul最少化叢集實作服務的注冊與發現(二)本節在Consul最小化叢集安裝的基礎上,實作多個用戶端節點通過配置化自動生成,并根據Consul的Watches機制實作自動運維告警。
二:服務間通信傳輸方式
.NET Core微服務之路:(純幹貨)基于gRPC服務發現與服務治理的方案我API和服務分離好了,怎麼通過服務中心進行發現呢,這個過程是通過什麼來實作的呢,本篇我們就來介紹這個基于gRPC的“調用過程”。
.NET Core微服務之路:利用DotNetty實作一個簡單的通信過程在遠端調用的過程中,首先需要的是遠端通訊,建立兩台或多台的連接配接,才能進行資料傳輸和調用,本篇我們介紹基于強大的DotNetty架構而實作的簡單C/S通訊過程。
NET Core微服務之路:讓我們對這個簡單Demo通訊進行一次更新和封裝
對上一篇的DotNetty通訊Demo進行簡單的更新,利用protobuf-net進行序列化,再結合DotNetty Demo并進行一次最簡單的RPC遠端調用。
三:API網關
Ocelot實作API網關
四:熔斷與降級
Ocelot内置Polly實作熔斷與降級
五:統一驗證與授權
Ocelot内置IdentityServer實作統一驗證與授權
六:追蹤與日志
基于butterfly實作分布式追蹤
基于Exceptionless實作分布式日志記錄
七:資料一緻性與事件總線
基于MassTransit實作資料最終一緻性
基于RabbitMQ實作消息隊列
八:統一配置中心
基于Apollo實作統一配置中心
九:統一性能監控
基于App.Metrics實作Net core監控
基于InfluxDB實作資料庫監控
基于Grafana實作統一GUI界面監控面闆
十:持續釋出與持續傳遞
基于Jenkins和Docker實作CI&CD
推薦一本微軟出品的《微服務架構指南》,值得一看,
點我下載下傳