آموزش استفاده از gRPC در ارتباط میکروسرویس‌ها با دات‌نت 5 - آخرین آپدیت

دانلود Using gRPC in Microservices Communication with .Net 5

نکته: ممکن هست محتوای این صفحه بروز نباشد ولی دانلود دوره آخرین آپدیت می باشد.
نمونه ویدیوها:
توضیحات دوره:

یادگیری جامع ارتباطات gRPC بین میکروسرویس‌های بک‌اند با دات‌نت 5

با این دوره آموزشی جامع، نحوه ساخت و پیاده‌سازی یک ارتباطات gRPC بین میکروسرویس‌های بک‌اند با عملکرد بالا با استفاده از .Net 5 و AspNet 5 را خواهید آموخت. میکروسرویس‌ها ستون فقرات سیستم‌های توزیع‌شده مدرن هستند و با gRPC در ASP.NET 5، برنامه‌های کاربردی چند پلتفرمی با کارایی بالا برای ساخت سیستم‌های توزیع‌شده و API ها خواهیم ساخت. این فناوری انتخابی ایده‌آل برای ارتباط بین میکروسرویس‌های بک‌اند، برنامه‌های شبکه داخلی یا دستگاه‌ها و سرویس‌های اینترنت اشیا (IoT) است. با انتشار ASP.NET 5، مایکروسافت پشتیبانی درجه یک برای ایجاد سرویس‌های gRPC با Asp.Net 5 ارائه داده است.

این دوره شما را در مسیر شروع، ساخت، توسعه و مدیریت سرورها و کلاینت‌های gRPC در معماری میکروسرویس‌های توزیع شده راهنمایی می‌کند.

معماری کلی پروژه دوره

ما قادر خواهیم بود تا ۶ میکروسرویس را طراحی کرده و آن‌ها را یکی پس از دیگری توسعه دهیم. برای ساخت کامپوننت‌های کلاینت و سرور gRPC که قراردادهای تعریف سرویس proto را مشخص می‌کنند، از Worker Services و Asp.Net 5 Grpc Applications استفاده خواهیم کرد.

ما یک سناریوی واقعی در تجارت الکترونیک را با استفاده انحصاری از ارتباط gRPC پیاده‌سازی خواهیم کرد. ما دارای ۳ برنامه سرور gRPC خواهیم بود: ProductShoppingCart و Discount gRPC services. همچنین ۲ سرویس worker خواهیم داشت: Product و ShoppingCart Worker Service. سرویس‌های worker نقش کلاینت را ایفا کرده و عملیات را بر روی برنامه‌های سرور gRPC انجام می‌دهند. همچنین، ما سرویس‌های gRPC را با میکروسرویس مستقل Identity Server با استفاده از توکن‌های OAuth 2.0 و JWT امن خواهیم کرد.

توسعه برنامه‌های سرور و کلاینت gRPC

ProductGrpc Server Application

اول از همه، پروژه ProductGrpc را توسعه خواهیم داد. این یک برنامه وب سرور gRPC مبتنی بر Asp.Net خواهد بود که API های عملیات CRUD محصول را ارائه می‌دهد.

Product Worker Service

پس از آن، پروژه Product Worker Service را برای مصرف سرویس‌های ProductGrpc توسعه خواهیم داد. این پروژه سرویس worker محصول، کلاینت برنامه ProductGrpc خواهد بود و با استفاده از سرویس‌های proto gRPC client streaming برنامه ProductGrpc ، محصولات را تولید کرده و رکوردهای دسته‌ای محصول را در پایگاه داده محصول درج می‌کند. این عملیات به صورت دوره‌ای و در قالب یک برنامه سرویس اجرا خواهد شد.

ShoppingCartGrpc Server Application

سپس پروژه ShoppingCartGrpc را توسعه خواهیم داد. این یک برنامه وب سرور gRPC مبتنی بر Asp.Net خواهد بود که API های عملیات سبد خرید (SC) و موارد سبد خرید را ارائه می‌دهد. سرویس‌های gRPC شامل ایجاد سبد خرید و افزودن یا حذف اقلام به سبد خرید خواهند بود.

ShoppingCart Worker Service

بعد از آن، پروژه ShoppingCart Worker Service را برای مصرف سرویس‌های ShoppingCartGrpc توسعه خواهیم داد. این پروژه سرویس worker سبد خرید، کلاینت هر دو برنامه ProductGrpc و ShoppingCartGrpc خواهد بود. این سرویس worker محصولات را از ProductGrpc می‌خواند و با استفاده از سرویس‌های proto gRPC برنامه ProductGrpc و ShoppingCartGrpc، سبد خرید را ایجاد کرده و اقلام محصول را به آن اضافه می‌کند. این عملیات به صورت دوره‌ای و در قالب یک برنامه سرویس اجرا خواهد شد.

DiscountGrpc Server Application

هنگام افزودن آیتم محصول به سبد خرید، مقدار تخفیف بازیابی شده و قیمت نهایی محصول محاسبه می‌شود. این ارتباط نیز از طریق فراخوانی gRPC بین برنامه SCGrpc و DiscountGrpc انجام خواهد شد.

امنیت و احراز هویت با gRPC

Identity Server

همچنین، ما یک سرور احراز هویت متمرکز و مستقل با پیاده‌سازی بسته IdentityServer4 توسعه خواهیم داد و نام این میکروسرویس، Identity Server خواهد بود. Identity Server4 یک چارچوب متن باز است که پروتکل‌های OpenId Connect و OAuth2 را برای .Net Core پیاده‌سازی می‌کند. با IdentityServer، می‌توانیم سرویس‌های سبد خرید gRPC خود را با استفاده از توکن‌های OAuth 2.0 و JWT محافظت کنیم. SC Worker قبل از ارسال درخواست به برنامه سرور ShoppingCart Grpc، توکن را دریافت خواهد کرد.

در پایان این دوره، شما درک عملی از نحوه استفاده از gRPC برای پیاده‌سازی سیستم‌های میکروسرویس سریع و توزیع‌شده خواهید داشت. همچنین یاد خواهید گرفت که چگونه سرویس‌های gRPC محافظت شده را با IdentityServer در معماری میکروسرویس‌ها ایمن کنید.

این دوره برای چه کسانی مناسب است؟

این دوره بسیار عملی است؛ حدوداً ۹۰٪+ درس‌ها شامل کدنویسی همزمان با مدرس خواهد بود. اگر شما از آن دسته افرادی هستید که با انجام دادن بهترین یادگیری را کسب می‌کنید، این دوره قطعاً برای شما مناسب است.

ابزارهای مورد نیاز برای این دوره

در این دوره، تمامی درس‌ها با استفاده از Visual Studio 2019 به عنوان ویرایشگر کد نمایش داده می‌شوند. البته شما می‌توانید از هر ویرایشگر کد و هر سیستم عاملی که دوست دارید استفاده کنید، به شرطی که ویندوز یا مک باشد.

پیش‌نیازها

  • دانش زبان C#
  • دانش اولیه Aspnet Core

موضوعات کلیدی دوره:

  • ساخت ارتباطات gRPC بین میکروسرویس‌های بک‌اند با عملکرد بالا با .Net
  • gRPC در میکروسرویس‌ها با .Net 5
  • کار با Protocol Buffers با استفاده از زبان proto3 و بکارگیری انواع شناخته شده گوگل (google well-known types)
  • انواع متدهای gRPC، چرخه عمر RPC - Unary، Server streaming، Client streaming، Bidirectional streaming
  • توسعه فایل Protocol Buffer (فایل protobuf) برای توسعه API مبتنی بر قرارداد اول gRPC (Contract-First API Development)
  • ساخت ارتباطات gRPC بین میکروسرویس‌ها با عملکرد بالا با .Net 5
  • ارتباط بین میکروسرویس‌های بک‌اند با gRPC و AspNet 5
  • وظایف پس‌زمینه با پروژه‌های Worker Service در AspNet Core 5
  • مدیریت برنامه‌های سرویس طولانی مدت با قالب Worker Service در AspNet Core
  • مصرف سرویس‌های gRPC scoped در یک وظیفه پس‌زمینه با پروژه‌های Worker Service در AspNet Core 5
  • پیاده‌سازی منطق تجارت الکترونیک با ارتباط فقط gRPC - سرویس‌های gRPC محصول، سبد خرید و تخفیف
  • مصرف میکروسرویس‌های سرور gRPC از سرویس‌های کاری محصول و سبد خرید در یک وظیفه پس‌زمینه
  • امنیت سرویس‌های gRPC با میکروسرویس‌های مستقل Identity Server با استفاده از OAuth 2.0 و توکن JWT
  • سرور ProductGrpc عملیات CRUD را با gRPC نمایش می‌دهد
  • استفاده از پایگاه داده حافظه Entity Framework Core 5 با رویکرد Code-First
  • توسعه سناریوی استفاده واقعی از ارتباطات بین سرویس‌ها با سرویس‌های gRPC محصول، سبد خرید و تخفیف و مصرف از سرویس‌های کاری
  • استفاده از gRPC برای پیاده‌سازی سیستم‌های میکروسرویس سریع و توزیع‌شده
  • ایجاد برنامه کلاینت کنسول برای مصرف میکروسرویس‌های Grpc
  • تولید محصولات با کلاس ProductFactory در برنامه Product Worker Service
  • لاگ‌گیری و مدیریت خطا در برنامه سرور Grpc
  • احراز هویت سرویس‌های gRPC با IdentityServer4، محافظت از متد ShoppingCartGrpc با OAuth 2.0 و JWT Bearer Token

سرفصل ها و درس ها

مقدمه Introduction

  • مقدمه Introduction

  • پیش‌نیازها و کد منبع Prerequisites and Source Code

  • gRPC چیست؟ What is gRPC ?

  • gRPC چگونه کار می‌کند؟ How gRPC works ?

  • کار با Protocol Buffers Working with Protocol Buffers

  • انواع متدهای gRPC - چرخه‌های عمر RPC gRPC Method Types - RPC life cycles

  • گردش کار توسعه gRPC gRPC Development Workflow

  • مزایای gRPC Advantages of gRPC

  • gRPC در مقابل REST gRPC vs REST

  • استفاده از gRPC در ارتباطات میکروسرویس‌ها gRPC usage of Microservices Communication

  • مثال gRPC در ارتباطات میکروسرویس‌ها Example of gRPC in Microservices Communication

  • gRPC با .NET gRPC with .NET

  • عملکرد gRPC در .NET 5 gRPC performance in .NET 5

  • آزمون gRPC Grpc Quiz

HelloWorld gRPC با Asp.Net 5 HelloWorld gRPC with Asp.Net 5

  • مقدمه Introduction

  • ایجاد پروژه وب خالی Asp.Net Core برای HelloWorld Grpc Create Asp.Net Core Empty Web Project For HelloWorld Grpc

  • توسعه فایل Protocol Buffer به نام hello.proto برای قرارداد gRPC Developing hello.proto Protocol Buffer File (protobuf file) for gRPC Contract

  • پیاده‌سازی کلاس سرویس gRPC که از سرویس تولید شده gRPC ارث‌بری می‌کند Implementing gRPC Service Class which Inherits from gRPC generated service

  • پیکربندی سرویس gRPC با ثبت تزریق وابستگی Asp.Net Configure gRPC Service with Registering Asp.Net Dependecy Injection

  • اجرای برنامه به عنوان افشای سرویس‌های gRPC Run the Application as exposing gRPC Services

  • ایجاد برنامه کلاینت GrpcHelloWorldClient برای سرور gRPC Create GrpcHelloWorldClient Client Application for gRPC Server

  • مصرف API سرویس HelloService از برنامه کلاینت کنسول با GrpcChannel Consume Grpc HelloService API From Client Console Application with GrpcChannel

  • ایجاد سرور gRPC با قالب gRPC ویژوال استودیو Scaffolding gRPC Server with gRPC Template of Visual Studio

  • ایجاد برنامه کلاینت GrpcGreeterClient برای سرور gRPC Create GrpcGreeterClient Client Application for gRPC Server

  • مصرف API سرویس GreeterService از برنامه کلاینت کنسول با GrpcChannel Consume Grpc GreeterService API From Client Console Application with GrpcChannel

  • تست سرویس‌های gRPC با ابزار خط فرمان gRPCurl Testing gRPC Services with gRPCurl command-line tool interaction

  • کشف سرویس با استفاده از بازتاب gRPC با ابزار خط فرمان gRPCurl Service discovery using gRPC reflection with gRPCurl command-line tool

ساخت میکروسرویس‌های محصول gRPC برای افشای APIهای CRUD محصول Building Product Grpc Microservices for Exposing Product CRUD APIs

  • مقدمه Introduction

  • ایجاد پروژه میکروسرویس‌های محصول gRPC در راه‌حل میکروسرویس‌های gRPC Create Product Grpc Microservices Project in Grpc Microservices Solution

  • تنظیم پایگاه داده میکروسرویس‌های محصول gRPC با پایگاه داده در حافظه Entity Framework Set Product Grpc Microservices Database with Entity Framework In-Memory Database

  • پر کردن پایگاه داده در حافظه با Entity Framework برای میکروسرویس ProductGrpc Seeding In-Memory Database with Entity Framework for ProductGrpc Microservice

  • توسعه فایل ProtoBuf به نام product.proto برای افشای سرویس‌های Crud در Product Grp Developing product.proto ProtoBuf file for Exposing Crud Services in Product Grp

  • تولید کلاس سرویس Proto از فایل Product proto در میکروسرویس Product Grpc Generate Proto Service Class from Product proto File in Product Grpc Microsrvice

  • توسعه کلاس ProductService برای پیاده‌سازی متدهای سرویس Proto gRPC Developing ProductService class to Implement Grpc Proto Service Methods

  • ایجاد برنامه کلاینت کنسول برای مصرف میکروسرویس‌های محصول gRPC Create Client Console Application for Consuming Product Grpc Microservices

  • مصرف متد سرور GetProductAsync محصول gRPC از برنامه کلاینت کنسول Consume GetProductAsync Product Grpc Server Method from Client Console App

  • توسعه متد جریان سرور ProductService-GetAllProducts محصول gRPC Developing ProductService-GetAllProducts Server Stream Method of Product Grpc

  • مصرف متد جریان سرور محصول GetAllProducts محصول از برنامه کلاینت کنسول Consume GetAllProducts Product Server Stream Method from Client Console App

  • بازسازی متد جریان سرور GetAllProducts با ویژگی‌های C# 9 در کلاینت Refactoring GetAllProducts Server Stream Method with C# 9 Features in Client

  • توسعه متد سرور ProductService-AddProduct محصول gRPC میکروسرویس‌ها Developing ProductService-AddProduct Server Method of Product Grpc Microservices

  • پیاده‌سازی AutoMapper در کلاس ProductService میکروسرویس‌های محصول gRPC Implementing AutoMapper into ProductService Class of Product Grpc Microservices

  • مصرف متد سرور AddProductAsync از برنامه کلاینت کنسول Consume AddProductAsync Server Method from Client Console Application

  • توسعه متدهای سرور ProductService-UpdateProductAsync-DeleteProductAsync Developing ProductService-UpdateProductAsync-DeleteProductAsync Server Method

  • مدیریت استثناء در متدهای سرویس gRPC میکروسرویس‌های محصول gRPC Exception Handling in gRPC Service Methods of Product Grpc Microservices

  • لاگ‌گیری در متدهای سرویس gRPC میکروسرویس‌های محصول gRPC Logging in gRPC Service Methods of Product Grpc Microservices

  • مصرف متدهای سرور UpdateProductAsync-DeleteProductAsync از کلاینت کنسول Consume UpdateProductAsync-DeleteProductAsync Server Method from Client Console

  • توسعه متد سرور جریان کلاینت ProductService-InsertBulkProduct Developing ProductService-InsertBulkProduct Client Stream Server Method

  • مصرف متد سرور جریان کلاینت InsertBulkProduct از برنامه کلاینت کنسول Consume Client Stream InsertBulkProduct Server Method from Client Console App

ساخت سرویس Worker محصول برای تولید و درج محصول در ProductGrpc Building Product Worker Service for Generate and Insert Product into ProductGrpc

  • مقدمه Introduction

  • ایجاد پروژه سرویس Worker محصول در راه‌حل میکروسرویس‌های gRPC Create Product Worker Service Project in Grpc Microservices Solution

  • اضافه کردن سرویس متصل Proto به پروژه سرویس Worker محصول برای مصرف Prod Add Connected Service Proto to Product Worker Service Project for Consuming Prod

  • تنظیم پیکربندی با فایل appsettings.json در پروژه سرویس Worker محصول Set Configuration with appsettings.json file into Product Worker Service Project

  • مصرف متد سرور محصول gRPC از برنامه کلاینت سرویس Worker محصول Consume Product Grpc Server Method From Product Worker Client Application

  • تمرکز بر تصویر بزرگ و افزودن محصولات توسط سرویس Worker محصول به سرور Product Grpc Focus on Big Picture and Product Worker Add Products to Product Grpc Server

  • تولید محصولات با کلاس ProductFactory در برنامه سرویس Worker محصول Generate Products with ProductFactory class in Product Worker Service App

  • لاگ‌گیری در برنامه کلاینت سرویس Worker محصول و برنامه سرور Product Grpc Logging in Product Worker Service Client Application and Product Grpc Server App

ساخت برنامه سرور gRPC Shopping Cart برای ذخیره محصولات در سبد خرید Building Shopping Cart Grpc Server Application for Storing Products into Cart

  • مقدمه Introduction

  • ایجاد پروژه میکروسرویس‌هایShoppingCart gRPC در راه‌حل میکروسرویس‌های gRPC Create Shopping Cart Grpc Microservices Project in Grpc Microservices Solution

  • تنظیم پایگاه داده میکروسرویس‌هایShoppingCart gRPC با پایگاه داده در حافظه Entity Framework Set Shopping Cart Grpc Microservices Database with Entity Framework In-Memory Db

  • پر کردن پایگاه داده در حافظه با Entity Framework Core برای ShoppingCartGrpc Seeding In-Memory Database with Entity Framework Core for ShoppingCartGrpc

  • توسعه فایل ProtoBuf به نام product.proto برای افشای سرویس‌های Crud در ShoppingCart Developing product.proto ProtoBuf file for Exposng Crud Services in ShoppingCart

  • تولید کلاس سرویس Proto از فایل ShoppingCart proto در ShoppingCart Grpc Generate Proto Service Class from ShoppingCart proto File in ShoppingCart Grpc

  • توسعه کلاس ShoppingCartService برای پیاده‌سازی متدهای سرویس Proto gRPC Developing ShoppingCartService class to Implement Grpc Proto Service Methods

  • پیاده‌سازی AutoMapper در کلاس ShoppingCartService میکروسرویس‌هایShoppingCart gRPC Implementing AutoMapper into ShoppingCartService Class of ShoppingCart Grpc

  • توسعه کلاس ShoppingCartService برای پیاده‌سازی متدهای سرویس Proto gRPC Developing ShoppingCartService class to Implement Grpc Proto Service Methods

  • توسعه متد سرور جریان کلاینت AddItemIntoShoppingCart Developing AddItemIntoShoppingCart Client Stream Server Method

ساخت میکروسرویس گمرک تخفیف برای ارتباط بین سرویس‌ها Building Discount Grpc Microservice Inter-Service Communication

  • مقدمه Introduction

  • ایجاد پروژه میکروسرویس‌های گمرک تخفیف gRPC در راه‌حل میکروسرویس‌های gRPC Create Discount Grpc Microservices Project in Grpc Microservices Solution

  • توسعه مدل داده و اشیاء زمینه میکروسرویس‌های گمرک تخفیف gRPC Developing Discount Grpc Microservices Data Model and Context Objects

  • توسعه فایل ProtoBuf به نام discount.proto برای افشای سرویس‌های دریافت تخفیف Developing discount.proto ProtoBuf file for Exposing Get Discount Services

  • تولید کلاس سرویس Proto از فایل Discount proto در Discount Grpc Generate Proto Service Class from Discount proto File in Discount Grpc

  • توسعه کلاس DiscountService برای پیاده‌سازی متدهای سرویس Proto gRPC Developing DiscountService class to Implement Grpc Proto Service Methods

  • مصرف سرویس Discount gRPC از میکروسرویس Shopping Cart gRPC Consuming Discount Grpc Service From Shopping Cart Grpc Microservice

  • مصرف سرویس Discount gRPC از میکروسرویس Shopping Cart gRPC بخش 2 Consuming Discount Grpc Service From Shopping Cart Grpc Microservice Part 2

  • ثبت کلاینت Discount gRPC و سرویس Discount در DI سبد خرید Register Discount Grpc Client and Discount Service into the ShoppingCart DI

ساخت سرویس Worker سبد خرید برای بازیابی محصولات و افزودن به سبد خرید Building ShoppingCart Worker Service for Retrieve Products and Add to SC

  • مقدمه Introduction

  • ایجاد پروژه سرویس Worker سبد خرید در راه‌حل میکروسرویس‌های gRPC Create ShoppingCart Worker Service Project in Grpc Microservices Solution

  • اضافه کردن سرویس‌های متصل Proto به پروژه سرویس Worker سبد خرید Add Connected Services Proto to ShoppingCart Worker Service Project

  • تنظیم پیکربندی با فایل appsettings.json در سرویس Worker سبد خرید Set Configuration with appsettings.json file into ShoppingCart Worker Service

  • مصرف متدهای سرور Product و ShoppingCart gRPC از سرویس Worker سبد خرید Consume Product and ShoppingCart Grpc Server Method From ShoppingCart Worker

  • تصویر بزرگ - سبد خرید Worker - دریافت محصولات و افزودن اقلام به سبد خرید با جریان Big Picture-ShoppingCart Worker - Get Products and Add Items to SC with stream

  • اجرای تمام میکروسرویس‌های سرور gRPC با سرویس‌های Worker محصول و سبد خرید Running All Grpc Server Microservices with Product and ShoppingCart WorkerServce

احراز هویت سرویس‌های gRPC با IdentityServer4 برای محافظت از متد ShoppingCartGrpc Authenticate gRPC Services with IdentityServer4 Protect ShoppingCartGrpc Method

  • مقدمه Introduction

  • ساخت میکروسرویس‌های احراز هویت IdentityServer4 برای امن کردن سبد خرید Building IdentityServer4 Authentication Microservices for Securing ShoppingCart

  • ساخت میکروسرویس‌های احراز هویت IdentityServer4 برای امن کردن سبد خرید 2 Building IdentityServer4 Authentication Microservices for Securing ShoppingCart2

  • پیکربندی IdentityServer4 با افزودن کلاس پیکربندی برای کلاینت‌ها، منابع و دامنه Configure IdentityServer4 with Adding Config Class for Clients, Resources, Scope

  • امن کردن سرویس‌های gRPC سبد خرید با IdentityServer4 OAuth 2.0 و JWT Securing ShoppingCart Grpc Services with IdentityServer4 OAuth 2.0 and JWT

  • تست دسترسی به سرویس‌های gRPC سبد خرید بدون توکن Testing to Access ShoppingCart Grpc Services without Token

  • دریافت توکن از IS4 و انجام فراخوانی gRPC به سرویس‌های gRPC سبد خرید با JWT Get Token From IS4 and Make Grpc Call to ShoppingCart Grpc Services with JWT

  • تنظیم توکن در هدر gRPC هنگام فراخوانی سرویس‌های gRPC سبد خرید Set Token to Grpc Header when Call to ShoppingCart Grpc Services

  • اجرای تمامی برنامه‌ها و مشاهده تصویر کلی در سیستم محلی شما Run Entire Applications and See the Big Picture in Your Local

  • تکلیف - جریان کامل در سرویس اطلاع‌رسانی با ارتباط دو طرفه ASSIGNMENT - FULL STREAM IN NOTIFCATION SERVICE WITH BIDIRECTIONAL COMMUNICATION

تشکر Thanks

  • درس جایزه Bonus Lecture

نمایش نظرات

آموزش استفاده از gRPC در ارتباط میکروسرویس‌ها با دات‌نت 5
جزییات دوره
7.5 hours
92
Udemy (یودمی) Udemy (یودمی)
(آخرین آپدیت)
2,363
4.2 از 5
دارد
دارد
دارد
Mehmet Ozkaya
جهت دریافت آخرین اخبار و آپدیت ها در کانال تلگرام عضو شوید.

Google Chrome Browser

Internet Download Manager

Pot Player

Winrar

Mehmet Ozkaya Mehmet Ozkaya

معمار نرم افزار | میکروسرویس | AWS Community Builder