آموزش میکروسرویس با gRPC [جاوا + فنر بوت + پروتوبوف]

Microservices with gRPC [Java + Spring Boot + Protobuf]

نکته: آخرین آپدیت رو دریافت میکنید حتی اگر این محتوا بروز نباشد.
توضیحات دوره: نسل بعدی میکروسرویس APIهای سریعتر، مقیاس پذیر و جریانی ایجاد کنید! کامل gRPC از ابتدا 10X عملکرد Spring Boot یکپارچه سازی ارتباطات بین میکروسرویس Unary، Client Streaming، Server Streaming و Bi Directional Streaming API Load Balancing Interceptors Protocol Buffers/Protobuf SSL/TLS Metadata/Context/CallOptions با نیازهای پیش ها:Knowl در بالا برای Javat8 لهجه هندی

gRPC یکی از داغ‌ترین فناوری‌های Google در سال‌های اخیر برای طراحی APIهای بسیار کارآمد و مقیاس‌پذیر برای میکروسرویس‌های شما است. با استفاده از gRPC، می توانید عملکردی 10 برابری در مقایسه با ارتباطات میکروسرویس های سنتی مبتنی بر REST داشته باشید. خیلی خیلی سریعه!

به ما این امکان را می‌دهد که انواع مختلفی از API را بسته به مورد استفاده خود انتخاب کنیم که با REST امکان‌پذیر نیست. یکی از بزرگ‌ترین چالش‌ها در طراحی میکروسرویس، ارتباط بین سرویس‌ها است. اکثر توسعه دهندگان از REST به عنوان همه منظوره استفاده می کنند. اما چالش های زیادی دارد. ما یاد می گیریم که چگونه مشکلات رایج REST را با استفاده از gRPC حل کنیم.

در پایان این دوره، با

راحت خواهید بود
  • توسعه خدمات میکرو با gRPC

  • gRPC همه انواع RPC

    • API Unary

    • Client Streaming API

    • API جریان سرور

    • API جریان دوطرفه

  • توسعه بازی Snake Ladder با استفاده از جریان دوطرفه

  • بافرهای پروتکل/Protobuf از ابتدا

    • پلتفرم خنثی زبان Google برای سریال‌سازی/غیراصلی کردن داده‌های ساختاریافته خنثی است.

  • تعادل بار

    • gRPC از HTTP2 استفاده می کند - با اتصال دائمی به انتهای پشتی. در تعادل بار چالش هایی وجود دارد. این بخش با جزئیات در مورد آنها صحبت می کند.

  • تأیید هویت

    • نحوه عبور رمز جلسه کاربر

    • نحوه انتقال رمز خدمات مشتری

  • بررسی خطا

    • بررسی خطا از طریق فراداده

    • بررسی خطا از طریق Protobuf OneOf

    • بررسی خطا از طریق استثنا

  • ادغام بوت بهار

    • نحوه استفاده از gRPC در میکروسرویس Spring Boot

    • توسعه یکپارچه سازی چندین سرویس


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

معرفی Introduction

  • بیان مسأله Problem Statement

  • HTTP/2-در مقابل HTTP/1.1 HTTP/2-vs-HTTP/1.1

  • gRPC-vs-REST - مقایسه عملکرد gRPC-vs-REST - Performance Comparison

  • ساختار دوره Course Structure

  • دانلود منابع دوره Course Resources Download

بافرهای پروتکل Protocol Buffers

  • پروتو - مقدمه Proto - Introduction

  • [منبع] - وابستگی های اولیه [Resource] - Proto Dependencies

  • Proto - راه اندازی پروژه Proto - Project Setup

  • Proto - ایجاد پیام شخصی ساده Proto - A Simple Person Message Creation

  • Proto - گزینه های جاوا Proto - Java Options

  • Proto - نسخه ی نمایشی الگوی شخص ساز Proto - Person Builder Pattern Demo

  • Proto - Equals Method Proto - Equals Method

  • Proto - Serialization & Deserialization Proto - Serialization & Deserialization

  • [منبع] - وابستگی جکسون [Resource] - Jackson Dependency

  • Proto در مقابل JSON - مقایسه عملکرد - قسمت - 1 Proto vs JSON - Performance Comparison - Part - 1

  • Proto vs JSON - مقایسه عملکرد - قسمت - 2 Proto vs JSON - Performance Comparison - Part - 2

  • Proto در مقابل JSON - مقایسه عملکرد - قسمت - 3 Proto vs JSON - Performance Comparison - Part - 3

  • Proto - اضافه کردن نظرات Proto - Adding Comments

  • توجه: مشکل شناخته شده با JS Note: Known Issue with JS

  • Proto - تولید خودکار فایل JS - نسخه ی نمایشی Proto - Auto Generate JS File - Demo

  • [اختیاری] - [منبع] - Protoc [Optional]-[Resource] - Protoc

  • نصب ابزار Protoc Protoc Tool Installation

  • پروتو - انواع اسکالر Proto - Scalar Types

  • Proto - نسخه ی نمایشی ترکیب Proto - Composition Demo

  • Proto - نسخه ی نمایشی مجموعه Proto - Collection Demo

  • Proto - نسخه نمایشی نقشه Proto - Map Demo

  • Proto - Enum Demo Proto - Enum Demo

  • Proto - مقادیر پیش فرض Proto - Default Values

  • Proto - وارد کردن ماژول ها Proto - Importing Modules

  • Proto - OneOf - نسخه ی نمایشی Proto - OneOf - Demo

  • پروتو - انواع لفاف Proto - Wrapper Types

  • Proto - چگونه کار می کند - نسخه ی نمایشی Proto - How It Works - Demo

  • پروتو - برچسب ها Proto - Tags

  • Proto - تغییرات API/پیام - قسمت - 1 Proto - API/Message Changes - Part - 1

  • Proto - تغییرات API/پیام - قسمت - 2 Proto - API/Message Changes - Part - 2

  • Proto - تغییرات API/پیام - قسمت - 3 Proto - API/Message Changes - Part - 3

  • Proto - تغییرات API/پیام - قسمت - 4 Proto - API/Message Changes - Part - 4

  • پروتو - خلاصه Proto - Summary

  • امتحان Quiz

gRPC - مقدمه و Unary RPC gRPC - Introduction & Unary RPC

  • gRPC - مقدمه gRPC - Introduction

  • gRPC - انواع RPC gRPC - RPC Types

  • [منبع] - وابستگی های gRPC [Resource] - gRPC Dependencies

  • gRPC - راه اندازی پروژه gRPC - Project Setup

  • Unary - تعریف سرویس Unary - Service Definition

  • Unary - BankService - getBalance - پیاده سازی Unary - BankService - getBalance - Implementation

  • Unary - سرور GRPC Unary - GRPC Server

  • Unary - Client's Blocking Stub Unary - Client's Blocking Stub

  • بانک سرویس - یک DB ساده با استفاده از نقشه BankService - A Simple DB Using Map

  • بانک سرویس - یک DB ساده با استفاده از نقشه - توجه BankService - A Simple DB Using Map - Note

  • [منبع] - یادداشت پستچی/BloomRPC [Resource] - Postman / BloomRPC Note

  • Unary - پستچی - نسخه ی نمایشی Unary - Postman - Demo

  • [منسوخ شده] - Unary - BloomRPC - نسخه نمایشی [DEPRECATED] - Unary - BloomRPC - Demo

  • Unary - Node Client Unary - Node Client

gRPC - سرور جریان RPC gRPC - Server Streaming RPC

  • پخش جریانی سرور - مقدمه Server Streaming - Introduction

  • پخش جریانی سرور - تعریف سرویس Server Streaming - Service Definition

  • سرور جریان - پیاده سازی خدمات برداشت پول Server Streaming - Money Withdrawal Service Implementation

  • پخش جریانی سرور - تست پستچی Server Streaming - Postman Test

  • [منسوخ شده] - پخش جریانی سرور - تست BloomRPC [DEPRECATED] - Server Streaming - BloomRPC Test

  • پخش جریانی سرور - اعتبارسنجی/مدیریت خطا Server Streaming - Validations / Error Handling

  • gRPC - کدهای خطا gRPC - Error Codes

  • سرور جریان - مسدود کردن مشتری Server Streaming - Blocking Client

  • پخش جریانی سرور - مشتری غیر همگام Server Streaming - Async Client

  • پخش جریانی سرور - ضامن شمارش معکوس Server Streaming - Count Down Latch

  • سرور استریم در مقابل Unary Server Streaming vs Unary

  • امتحان Quiz

  • امتحان Quiz

gRPC - Client Streaming RPC gRPC - Client Streaming RPC

  • Client Streaming - مقدمه Client Streaming - Introduction

  • جریان مشتری - تعریف خدمات Client Streaming - Service Definition

  • جریان مشتری - بانک - درخواست سپرده - اجرا - قسمت - 1 Client Streaming - Bank - Deposit Request - Implementation - Part - 1

  • جریان مشتری - بانک - درخواست سپرده - اجرا - قسمت - 2 Client Streaming - Bank - Deposit Request - Implementation - Part - 2

  • Client Streaming - Client Response Observer پیاده سازی Client Streaming - Client Response Observer Implementation

  • پخش جریانی مشتری - تست پستچی Client Streaming - Postman Test

  • Client Streaming - Stream Observer - چگونه کار می کند Client Streaming - Stream Observer - How It Works

gRPC - دو جهته جریان RPC gRPC - Bi-Directional Streaming RPC

  • BiDi - مقدمه BiDi - Introduction

  • BiDi - تعریف سرویس BiDi - Service Definition

  • BiDi - خدمات انتقال - پیاده سازی BiDi - Transfer Service - Implementation

  • BiDi - اجرای ناظر جریان سمت مشتری BiDi - Client Side Stream Observer Implementation

  • BiDi - درخواست و پاسخ سمت مشتری BiDi - Client Side Stub Request And Response

  • BiDi - نسخه نمایشی سرویس انتقال BiDi - Transfer Service Demo

  • BiDi - پاسخ تک در مقابل پاسخ جریانی BiDi - Single Response vs Streaming Response

  • BiDi - نحوه اجرای CRUD BiDi - How To Perform CRUD

مارها و نردبان ها - بازی/تکلیف Snakes & Ladders - Game / Assignment

  • بازی - مقدمه Game - Introduction

  • [اختیاری] - [منبع] - قوانین [Optional]-[Resource]-Rules

  • بازی - نکات Game - Hints

  • بازی - تعریف سرویس Game - Service Definition

  • بازی - اجرای Die Streaming Observer Game - Die Streaming Observer Implementation

  • بازی - اعمال قوانین مارها و نردبان Game - Applying Snakes & Ladders Rules

  • بازی - Players State Streaming Observer پیاده سازی Game - Players State Streaming Observer Implementation

  • اشتباه کوچک - اصلاح Small Mistake - Correction

  • بازی - نهایی سرور مشتری Game - Client Server Finale

تعادل کانال و بار Channel & Load Balancing

  • تعادل بار - مقدمه Load Balancing - Introduction

  • تعادل بار - نسخه نمایشی اتصال تنبل Load Balancing - Lazy Connection Demo

  • Load Balancing - Load Balancing سمت سرور Load Balancing - Server Side Load Balancing

  • تعادل بار - نصب Nginx Load Balancing - Nginx Install

  • تعادل بار - راه اندازی پروژه Load Balancing - Project Setup

  • Load Balancing - اجرای چندین سرور gRPC Load Balancing - Running Multiple gRPC Servers

  • [منبع] - Nginx Conf [Resource] - Nginx Conf

  • تعادل بار - Nginx Conf Load Balancing - Nginx Conf

  • Load Balancing - Nginx Load Balancing Demo - قسمت - 1 Load Balancing - Nginx Load Balancing Demo - Part - 1

  • Load Balancing - Nginx Load Balancing Demo - قسمت - 2 Load Balancing - Nginx Load Balancing Demo - Part - 2

  • تعادل بار - درخواست جریان مشتری Load Balancing - Client Streaming Request

  • تعادل بار - کانال های فرعی Load Balancing - SubChannels

  • تعادل بار - اجرای رجیستری خدمات ساده Load Balancing - A Simple Service Registry Implementation

  • Load Balancing - Name Resolver Load Balancing - Name Resolver

  • [به روز رسانی] - کتابخانه grpc-java نسخه 1.41 [UPDATE] - grpc-java library version 1.41

  • Load Balancing - Name Resolver Provider Load Balancing - Name Resolver Provider

  • Load Balancing - حالت نمایشی تعادل بار سمت مشتری Load Balancing - Client Side Load Balancing Demo

  • تعادل بار - خلاصه Load Balancing - Summary

ضرب الاجل Deadline

  • مهلت - مقدمه Deadline - Introduction

  • مهلت - راه اندازی پروژه Deadline - Project setup

  • مهلت - Unary RPC - نسخه ی نمایشی Deadline - Unary RPC - Demo

  • مهلت - مشکل RPC جریان سرور Deadline - Server Streaming RPC Issue

  • مهلت - RPC جریان سرور - رفع مشکل Deadline - Server Streaming RPC - Issue Fix

رهگیرها Interceptors

  • رهگیر - مقدمه Interceptor - Introduction

  • Interceptor - اجرای مهلت جهانی Interceptor - Global Deadline Implementation

  • Interceptor - مهلت جهانی - نسخه ی نمایشی Interceptor - Global Deadline - Demo

  • رهگیر - جفت کلید/ارزش - مقدمه Interceptor - Key / Value Pairs - Introduction

  • Interceptor - پیوست کردن رمز خدمات مشتری از طریق فراداده Interceptor - Attaching Client Service Token Via Metadata

  • Interceptor - اعتبار سنجی رمز خدمات مشتری - پیاده سازی Interceptor - Client Service Token Validation - Implementation

  • Interceptor - اعتبار سنجی رمز خدمات مشتری - نسخه ی نمایشی Interceptor - Client Service Token Validation - Demo

  • Interceptor - پیوست کردن رمز جلسه کاربر - مقدمه Interceptor - Attaching User Session Token - Introduction

  • Interceptor - پیوست کردن رمز جلسه کاربر - پیاده سازی Interceptor - Attaching User Session Token - Implementation

  • Interceptor - User Session Token Validation - پیاده سازی Interceptor - User Session Token Validation - Implementation

  • Interceptor - اعتبار سنجی رمز جلسه کاربر - نسخه ی نمایشی Interceptor - User Session Token Validation - Demo

  • رهگیر - زمینه - مقدمه Interceptor - Context - Introduction

  • رهگیر - نقش کاربر - اجرای Auth Interceptor Interceptor - User Role - Auth Interceptor Implementation

  • Interceptor - دسترسی به نقش کاربر از طریق زمینه Interceptor - Accessing User Role Via Context

  • رهگیر - نسخه ی نمایشی زمینه Interceptor - Context Demo

مدیریت خطا از طریق فراداده Error Handling Via Metadata

  • مدیریت خطا - مقدمه Error Handling - Introduction

  • Error Handling - Proto For Custom Error Message Error Handling - Proto For Custom Error Message

  • مدیریت خطا - تغییرات لایه سرویس Error Handling - Service Layer Changes

  • مدیریت خطا - خطای سفارشی از طریق ابرداده Error Handling - Custom Error Via Metadata

  • مدیریت خطا - OneOf Error Handling - OneOf

SSL/TLS SSL / TLS

  • SSL/TLS - مقدمه SSL/TLS - Introduction

  • [اختیاری-منبع] - SSL/TLS [Optional-Resource] - SSL/TLS

  • SSL/TLS - تبدیل شدن به CA SSL/TLS - Becoming CA

  • SSL/TLS - تولید گواهی SSL/TLS - Generating Certificates

  • SSL/TLS - تغییرات سمت سرور SSL/TLS - Server Side Changes

  • SSL/TLS - نسخه ی نمایشی SSL/TLS - Demo

متفرقه Miscellaneous

  • متفرقه - مجریان Misc - Executors

  • متفرقه - دسترسی به gRPC از طریق وب Misc - Accessing gRPC via Web

ادغام بوت بهار Spring Boot Integration

  • یکپارچه سازی بوت بهار - مقدمه Spring Boot Integration - Introduction

  • [2022] - وابستگی های Maven به روز شده است [2022] - Updated Maven Dependencies

  • یکپارچه سازی بوت بهار - برنامه کاربردی Spring Boot Integration - Application Walk-through

  • یکپارچه سازی بوت بهار - آغازگر بهار Spring Boot Integration - Spring Initializer

  • ادغام بوت بهار - پروژه چند ماژول Maven Spring Boot Integration - Multi Module Maven Project

  • یکپارچه سازی بوت بهار - تعریف سرویس Spring Boot Integration - Service Definition

  • یکپارچه سازی بوت بهار - سرویس کاربر - پیاده سازی Spring Boot Integration - User Service - Implementation

  • یکپارچه سازی بوت بهار - سرویس کاربر - منابع Spring Boot Integration - User Service - Resources

  • [تغییرات بهار/H2] - سرویس کاربر [Breaking Spring/H2 Changes] - User Service

  • یکپارچه سازی بوت بهار - سرویس فیلم - پیاده سازی Spring Boot Integration - Movie Service - Implementation

  • یکپارچه سازی بوت بهار - سرویس فیلم - منابع Spring Boot Integration - Movie Service - Resources

  • [تغییرات بهار/H2] - سرویس فیلم [Breaking Spring/H2 Changes] - Movie Service

  • یکپارچه سازی بوت بهار - سرویس جمع کننده - کنترلر Spring Boot Integration - Aggregator Service - Controller

  • یکپارچه سازی بوت بهار - سرویس پیشنهاد فیلم کاربر - قسمت 1 Spring Boot Integration - User Movie Suggestion Service - Part 1

  • یکپارچه سازی بوت بهار - سرویس پیشنهاد فیلم کاربر - قسمت 2 Spring Boot Integration - User Movie Suggestion Service - Part 2

  • یکپارچه سازی بوت بهار - سرویس پیشنهاد فیلم کاربر - نسخه ی نمایشی Spring Boot Integration - User Movie Suggestion Service - Demo

  • بوت بهار با gRPC + SSL/TLS Spring Boot With gRPC + SSL / TLS

متشکرم Thank You

  • متشکرم! Thank you!

نمایش نظرات

نظری ارسال نشده است.

آموزش میکروسرویس با gRPC [جاوا + فنر بوت + پروتوبوف]
خرید اشتراک و دانلود خرید تکی و دانلود | 160,000 تومان (5 روز مهلت دانلود) زمان تقریبی آماده سازی لینک دانلود این دوره آموزشی حدود 5 تا 24 ساعت می باشد.
جزییات دوره
9.5 hours
156
Udemy (یودمی) udemy-small
25 بهمن 1401 (آخرین آپدیت رو دریافت می‌کنید، حتی اگر این تاریخ بروز نباشد.)
6,275
4.6 از 5
ندارد
دارد
دارد

Google Chrome Browser

Internet Download Manager

Pot Player

Winrar

Vinoth Selvaraj Vinoth Selvaraj

مهندس اصلی

Udemy (یودمی)

یودمی یکی از بزرگ‌ترین پلتفرم‌های آموزشی آنلاین است که به میلیون‌ها کاربر در سراسر جهان امکان دسترسی به دوره‌های متنوع و کاربردی را فراهم می‌کند. این پلتفرم امکان آموزش در زمینه‌های مختلف از فناوری اطلاعات و برنامه‌نویسی گرفته تا زبان‌های خارجی، مدیریت، و هنر را به کاربران ارائه می‌دهد. با استفاده از یودمی، کاربران می‌توانند به صورت انعطاف‌پذیر و بهینه، مهارت‌های جدیدی را یاد بگیرند و خود را برای بازار کار آماده کنند.

یکی از ویژگی‌های برجسته یودمی، کیفیت بالای دوره‌ها و حضور استادان مجرب و با تجربه در هر حوزه است. این امر به کاربران اعتماد می‌دهد که در حال دریافت آموزش از منابع قابل اعتماد و معتبر هستند و می‌توانند به بهترین شکل ممکن از آموزش‌ها بهره ببرند. به طور خلاصه، یودمی به عنوان یکی از معتبرترین و موثرترین پلتفرم‌های آموزشی آنلاین، به افراد امکان می‌دهد تا به راحتی و با کیفیت، مهارت‌های مورد نیاز خود را ارتقا دهند و به دنبال رشد و پیشرفت شغلی خود باشند.