在.Net 5中使用 gRPC 進行微服務通訊

使用 .Net 5 和 Asp .Net 5在後端微服務之間建構高效能的 gRPC 服務間通訊。

報名參加課程更新 coupon code

從這 7.5 小時的課程,你會學到

  • 用.Net 5實現微服務中的 gRPC 功能
  • 使用 proto3 語言與 Protocol Buffers 工作,並應用 google 知名型別
  • gRPC 方法型別,RPC生命週期–Unary、伺服器串流、客戶端串流、雙向串流
  • 為 gRPC 合同優先 API 開發 Protocol Buffers 檔案(protobuf檔案)
  • 用 .Net 5 建構高效能 gRPC 服務間通訊
  • 使用 gRPC 和 Asp .Net 5 在後端微服務之間進行通訊
  • 在 Asp .Net Core 5 中使用 Worker Service 專案的背景任務
  • 使用 Asp .Net Core Worker 服務樣板管理長期執行的服務應用程式
  • 在 Asp .Net Core 5 中使用 Worker Service Projects 在背景任務中消耗一個範圍內的 gRPC 服務
  • 實現只有gRPC 通訊的電子商務邏輯–產品、購物車和折扣 gRPC 服務
  • 在背景任務中消耗來自產品和購物車 Worker 服務的 gRPC 伺服器微服務
  • 利用 OAuth 2.0 和 JWT 令牌,透過獨立的身份伺服器微服務來保護 gRPC 服務
  • 產品 gRPC 伺服器使用 gRPC 公開 CRUD 操作
  • 用程式碼優先的方法使用 Entity Framework Core 5 In-Memory 資料庫
  • 開發真實世界的服務間通訊用例,包括產品、購物車和折扣的gRPC服務,並從worker 服務中消耗
  • 使用 gRPC 實現快速和分散式微服務系統
  • 建立客戶端控制台( console ) 應用程式,以消耗 gRPC 微服務
  • 在產品 worker 服務應用中使用 ProductFactory 類別生成產品
  • 使用 gRPC 伺服器應用程式進行日誌和異常處理
  • 用 IdentityServer4 認證 gRPC 服務 用OAuth 2.0 和 JWT Bearer Token 保護購物車 gRPC 方法

要求

  • C# 知識
  • Asp .Net Core 基礎知識

課程說明

你將學習如何使用 .Net 5 和 Asp .Net 5在後端微服務之間建構一個高效能的 gRPC服務間通訊。

微服務是現代的分散式系統,因此利用 ASP.NET 5 中的 gRPC,我們將開發高效能的跨平台應用程式,用於建構分散式系統和 API。它是後端微服務、內部網路應用或物聯網裝置和服務之間通訊的理想選擇。隨著 ASP.NET 5 的釋出,微軟為使用Asp.Net 5 建立 gRPC 服務增加了一流的支援。

本課程將帶領你開始建構、開發和管理分散式微服務架構上的 gRPC 伺服器和客戶端。

檢視課程整體藍圖

你可以看到,我們將有6個微服務,我們將逐一開發。

我們將使用 Worker Services 和 Asp.Net 5 gRPC Applications 來建構定義原服務定義合約的客戶端和伺服器 gRPC 元件。

我們將用 gRPC 通訊實現真實世界中的電子商務使用案例。我們將有3個 gRPC 伺服器應用程式,分別是產品 – 購物車和折扣 gRPC服務。我們將有2個 Worker 服務,分別是產品和購物車 Worker服務。Worker 服務將是客戶端,並在 gRPC 伺服器應用程式上執行操作。我們將使用獨立的身份伺服器微服務和 OAuth 2.0 以及JWT 令牌來保護 gRPC 服務。

產品 gRPC 伺服器應用

首先,我們將開發產品 gRPC專案。這將是一個 Asp.Net gRPC 伺服器的 web 應用程式,並為產品的 CRUD 操作提供 APIs。

Product Worker服務

之後,我們將開發產品 Worker 服務專案來消費 ProductGrpc 服務。這個產品 Worker 服務專案將作為 ProductGrpc 應用的客戶端,透過使用ProductGrpc應用的客戶端串流式 gRPC proto 服務,生成產品並將批量產品記錄插入產品資料庫。該操作將作為一個服務應用,在一個時間間隔內迴圈進行。

ShoppingCartGrpc 伺服器應用

之後,我們將開發 ShoppingCartGrpc 專案。這將是一個 Asp.net gRPC伺服器的web 應用程式,並為SC和SC專案的操作暴露 APIs。該 gRPC 服務將建立 sc 和新增或刪除專案到sc。

ShoppingCart Worker服務

之後,我們將開發ShoppingCart Worker Service專案來消費 ShoppingCartGrpc服務。這個 ShoppingCart Worker Service 專案將成為 ProductGrpc 和ShoppingCartGrpc 應用程式的客戶端。該 Worker 服務將使用 ProductGrpc 和ShoppingCartGrpc 應用程式的 gRPC 原服務從 ProductGrpc 中讀取產品,並建立 sc 和將產品專案新增到 sc 中。這個操作將作為一個服務應用在一個時間間隔內迴圈進行。

DiscountGrpc 伺服器應用

當把產品新增到 SC 中時,它將檢索折扣值並計算出產品的最終價格。這個通訊也是與 SCGrpc 和 DiscountGrpc 應用的 gRPC 呼叫。

身份伺服器

同時,我們將透過實現 IdentityServer4 套件來開發集中式的獨立認證伺服器,微服務的名稱是Identity Server。

Identity Server4是一個開源框架,它為.Net Core實現了OpenId Connect和OAuth2 通訊協定。

使用IdentityServer,我們可以使用OAuth 2.0和JWT令牌來保護我們的SC gRPC服務。SC Worker將在向SC Grpc 伺服器應用程式傳送請求之前獲得令牌。

課程結束後,你將對如何使用 gRPC 實現一個快速和分散式的微服務系統有一個實際的瞭解。你還將學習如何在微服務架構中使用 IdentityServer 來保護 gRPC 服務的安全。

這個課程適合你嗎?

這門課程非常實用,大約90%以上的課程將涉及到你和我一起在這個專案中編碼。如果你是那種邊做邊學的人,那麼這個課程絕對適合你。

本課程需要的工具

在本課程中,所有課程都是使用Visual Studio 2019作為程式碼編輯器進行展示。當然你可以使用任何你喜歡的程式碼編輯器和任何你喜歡的作業系統,只要是Windows或Mac。

目標受眾

  • 對 gRPC 和微服務感興趣的 .Net 開發人員。

講師簡介

Mehmet Özkaya 軟體架構師

本書《 Microservices Architecture and Step by Step Implementation on .NET 》的作者-。

aspnetrun repository的建立者

  • 15年以上的微軟.NET開發實踐經驗。有使用C#、.NET Core、ASP.NET/MVC/ASP.NET Core、JavaScript、Angular、TypeScript進行Web應用程式開發的經驗。
  • 豐富的經驗 設計和實現 RESTful APIs JSON 設計,使用 WCF 和 ASP.NET Core Web API的 SOAP Web 服務。
  • 精通物件導向的設計和開發、SOLID原則、DDD、設計模式、SOA、TDD和單元測試。
  • 具有豐富的 Web 前端技術使用經驗,如DOM、HTML5、CSS3和JavaScript、JSON、JQuery、TypeScript。
  • 有使用ORM工具的經驗,如Entity Framework Core、NHibernate、Dapper。
  • 在微服務架構、API閘道器(Orleans)、BDD、DDD/CQRS模式、分散式訊息代理服務匯流排應用(MQTT、AMQT、MassTransit、RabbitMQ、Azure服務匯流排)、事件外包、雲端運算架構、IAAS平台(AWS、Azure)、應用程式容器化、Docker等分散式軟體架構和訊息技術方面有豐富的經驗。
  • 使用分散式快取和相關開源工具,如Redis、Camunda、Castle Windsor、AutoMapper、Log4Net。

英文字幕:有

  • 想要了解如何將英文字幕自動翻譯成中文? 請參考這篇 How-To

報名參加課程更新 coupon code

Sponsored by Udemy

也許你會有興趣

找其它課程?試看看 Soft & Share 網站搜尋引擎

✍ 搜尋結果太多?可參考 Soft & Share 搜尋引擎使用技巧


幫我們個小忙!

使用 e-mail 追蹤 Soft & Share

Comments are closed.

Powered by WordPress.com.

Up ↑

%d 位部落客按了讚: