Mô tả

** Mastering gRPC: Building High-Performance Microservices with Protocol Buffers and Spring Boot **


In this comprehensive course, you will delve into the world of gRPC and learn how to leverage this cutting-edge technology to build high-performance and scalable APIs for your microservices. With gRPC, you can achieve up to 10 times the performance compared to traditional REST-based communication. You will discover the different types of gRPC APIs and understand how they can address common challenges in microservices communication.

By the end of this course, you will be comfortable developing microservices with gRPC, utilizing protocol buffers for data serialization, implementing load balancing strategies, handling authentication, managing errors, integrating gRPC with Spring Boot, and building multiple services that seamlessly interact with each other.

Course Content:

  1. Protocol Buffers (Protobuf):

    • Learning Protobuf from scratch

    • Understanding Google's language-neutral and platform-neutral serialization format for structured data

  2. Introduction to gRPC:

    • Understanding the benefits of gRPC for microservices communication

    • Exploring the different RPC types supported by gRPC

      • Unary API

      • Client Streaming API

      • Server Streaming API

      • Bidirectional Streaming API

  3. Load Balancing:

    • Challenges and considerations in load balancing with gRPC

    • Exploring different load balancing strategies and their implementation with gRPC

  4. Authentication:

    • Passing user session tokens for authentication in gRPC

    • Passing client service tokens for authorization in gRPC

  5. Error Handling:

    • Error handling techniques in gRPC

    • Handling errors through metadata

    • Utilizing Protobuf OneOf for error handling

    • Error handling through exceptions

  6. Spring Boot Integration:

    • Integrating gRPC with Spring Boot microservices

    • Developing multiple services and ensuring seamless integration between them

  7. Best Practices and Real-World Considerations:

    • Discussing best practices for gRPC-based microservices development

    • Addressing real-world challenges and considerations in gRPC implementations

Join this course and unlock the power of gRPC to build highly performant, scalable, and efficient microservices using Protocol Buffers and Spring Boot. Gain the skills necessary to overcome common challenges in microservices communication, achieve superior performance, and streamline your API design with gRPC.

Bạn sẽ học được gì

Complete gRPC from scratch

10X Performance

Spring Boot Integration

Inter microservice communication

Unary, Client Streaming, Server Streaming & Bi Directional Streaming API

Load Balancing

Interceptors

Protocol Buffers / Protobuf

SSL / TLS

Metadata / Context / CallOptions

Yêu cầu

  • Knowledge on Java 8 or above
  • Comfortable with Indian Accent

Nội dung khoá học

15 sections

Introduction

2 lectures
Introduction
06:40
[OPTIONAL] - gRPC-vs-REST - Performance Comparison
08:19

Protocol Buffers

37 lectures
Introduction
05:35
*** Resource ***
00:14
Project Setup
06:42
Creating First Proto
08:21
Generated Source
03:32
Creating An Instance From Generated Source
04:54
Proto Java Option - Package
04:49
Proto Java Option - Multiple Files
04:35
Immutable, Equals & Clear Methods
06:13
Adding Comments
00:18
Scalar Types
02:57
Scalar Demo
07:00
Serialization & Deserialization
06:05
Correction - Try With Resources
00:25
JSON vs Proto - Performance - Part - 1
06:57
JSON vs Proto - Performance - Part - 2
04:44
JSON vs Proto Encoding
04:24
Composition
06:47
Collections
05:58
What About Set?
01:56
Map
05:33
What About Complex Data Structure?
01:40
Enum
02:23
Default Values
10:38
OneOf
13:07
Importing Modules
06:42
GCP - API
01:29
Wrapper / Well Known Types
06:11
Scalar Optional
01:47
How Proto Works
08:35
Message Format Changes - Part - 1
06:20
Message Format Changes - Part - 2
08:24
Message Format Changes - Part - 3
03:50
Message Format Changes - Part - 4
05:38
Proto - CI/CD
04:47
Summary
07:19
Quiz
5 questions

gRPC - Unary

25 lectures
Introduction
05:51
Communication Patterns
03:48
How gRPC Performs Better
07:25
Unary API
05:16
Adding gRPC Java As Source Root
01:50
Stream Observer
06:59
Unary Service Implementation
01:31
Unary API Demo via Postman
07:21
Account Repository
04:10
gRPC Server Refactor
09:32
Client Server Communication
02:39
gRPC Client Demo
04:44
Channel / Stub - Clarification
03:19
Blocking vs Async Stub
04:00
How Async Stub Works
07:55
Listenable Future
01:57
Abstract Test
07:35
Unary API - Integration Test
02:21
Get All Accounts - API
08:17
ASSIGNMENT - Integration Test
02:50
Async Stub - Integration Test
07:21
Response Observer - Test Utility
08:08
Async Stub - Integration Test - Refactor
05:38
What About CRUD Using gRPC?
02:14
Summary
03:47

gRPC - Server Streaming

13 lectures
Introduction
02:14
Streaming Possible Outputs
02:00
Service Definition
01:50
Server Streaming RPC Implementation
06:51
Demo via Postman
02:13
Blocking Stub - Integration Test
03:08
Async Stub - Integration Test
02:17
*** FAQ *** - Ordering Of Messages
01:09
*** FAQ *** - Unary vs Streaming
02:06
*** FAQ *** - Stream Observer Thread Safety
02:06
*** FAQ *** - Sequential vs Parallel Processing
01:42
*** FAQ *** - Streaming Backpressure
01:14
Quiz
4 questions

gRPC - Client Streaming

7 lectures
Introduction
01:36
Service Definition
03:24
Why We Return Stream Observer?
05:28
Streaming Request Handler Implementation
07:56
Demo via Postman
02:51
Integration Test
07:22
Cancel Stream
01:57

gRPC - BiDirectional Streaming

12 lectures
Introduction
02:25
Service Definition
02:56
BiDirectional Streaming Service Implementation
08:01
Demo via Postman
02:49
Independent Stream Demo
03:44
Integration Test
08:54
Interactive Stream
03:19
Flow Control - Service Implementation
10:22
Flow Control Demo via Postman
02:26
Manual Flow Control Client - Part 1
02:47
Manual Flow Control Client - Part 2
08:12
Manual Flow Control Client - Part 3
03:30

Client/Server - Interactive Game - ASSIGNMENT

3 lectures
Introduction
04:50
Resource - Proto
00:02
Game Implementation
06:58

Input Validation / Error Handling

20 lectures
Introduction
02:11
Resource- gRPC Status Codes
00:04
Project Setup
04:15
Request Validator Utility
06:46
Input Validation Implementation
09:20
Demo via Postman
02:56
Unary Error Handling - Integration Test
08:56
Server Streaming Error Handling - Integration Test
07:10
What About Server Error?
04:09
What About Other Communication Patterns?
01:51
Trailer Metadata
03:58
Service Definition
02:08
Project Setup
00:54
Trailer Metadata Implementation
07:22
Demo via Postman
04:00
String Metadata
02:27
Accessing Trailer via Status
06:02
ASSIGNMENT - Trailer For Server Streaming
02:07
Error Message via OneOf
05:40
Summary
01:55

Deadline

6 lectures
Introduction
04:24
Integration Testing
06:42
Streaming Deadline Issue
04:49
Streaming Deadline Issue Fix
04:43
WaitForReady
08:13
WaitForReady & Deadline
02:24

Channel / LoadBalancing

12 lectures
Introduction
07:19
Persistent Connection
03:26
Lazy Channel Creation
02:20
Eager Channel Creation
02:03
Server KeepAlive Configuration
01:38
KeepAlive - Demo
02:52
Load Balancing
03:01
Resource - Docker Compose
00:04
Load Balancing - Demo
09:59
Streaming Request Load Balancing - Clarification
04:01
gRPC On Kubernetes
01:26
Summary
01:45

Interceptor / Call Options / Metadata / Context

25 lectures
Introduction
02:32
gzip Compression
03:40
Call Options - gzip
07:18
FAQ - What About Other Compression Algorithms?
01:51
Call Options - Changing Executor
02:58
Interceptor - Introduction
06:16
Deadline via Interceptor
07:34
Override Interceptor's Deadline
03:41
Compression via Interceptor
02:00
Multiple Interceptors
00:47
Server Interceptor
03:06
Refactoring Test
04:45
CallOptions vs Metadata vs Context
02:57
Interceptor/Metadata - API Key Validator - Part - 1
04:29
Interceptor/Metadata - API Key Validator - Part - 2
05:27
Interceptor/Metadata - API Key Validator - Demo via Postman
03:11
FAQ - Accessing RPC Information In Interceptor
01:47
Interceptor/CallCredentials - User Session Token - Part - 1
08:06
Interceptor/CallCredentials - User Session Token - Part - 2
09:47
Interceptor/CallCredentials - User Session Token - Demo
04:48
Context - Introduction
03:01
Interceptor/Context - User Role - Part - 1
07:55
Interceptor/Context - User Role - Part - 2
02:31
Interceptor/Context - User Role - Demo
02:24
Summary
02:29

SSL/TLS

6 lectures
Introduction
05:29
Resource - Certificates
00:03
Project Setup
03:39
KeyStore/TrustStore Manager Factory
08:48
Server TLS Configuration
03:13
Integration Testing - Demo
05:00

Miscellaneous

2 lectures
Netty Server Configuration
05:04
FAQ - What About Frontend Communication?
07:41

gRPC / Spring Boot Integration

38 lectures
Introduction
06:36
Resource - Project Template
00:04
Application Overview
05:45
Project Setup
03:41
Project Walkthrough
07:35
User Entity / Repository
08:58
OPTIONAL - How Spring Data JPA Works
03:05
User Information Request Handler
10:24
Trade - Buy Request Handler
11:38
Trade - Sell Request Handler
05:57
gRPC Controller Advice
04:30
User Service - Server Configuration
01:40
Resource - Server Properties
00:02
User Service - Demo via Postman
03:45
gRPC InProcess Server
04:59
User Service - Integration Testing - Part - 1
06:18
User Service - Integration Testing - Part - 2
01:53
User Service - Integration Testing - Part - 3
03:43
Aggregator Introduction
02:33
gRPC Client - Dependency Injection - Known Issue
02:02
Aggregator - User Information API
06:04
Aggregator - Trade API
04:34
Aggregator - Controller Advice
03:27
What About Stock Service Error?
01:32
SSE Emitter - Crash Course
09:02
Price Update Listener - Implementation - Part - 1
06:35
Price Update Listener - Implementation - Part - 2
05:38
Price Update Initializer
03:07
Aggregator Service Configuration
04:19
Mock Service For Integration Testing
08:47
Aggregator Integration Testing
14:29
Multiple Mock Services
01:05
Server Sent Events Test
16:07
Dirties Context
01:09
Resource - Stock Service
00:02
Demo via Postman
05:05
Resource - Static HTML
00:08
Demo via UI
03:57

What's Next?

1 lectures
What's Next?
08:51

Đánh giá của học viên

Chưa có đánh giá
Course Rating
5
0%
4
0%
3
0%
2
0%
1
0%

Bình luận khách hàng

Viết Bình Luận

Bạn đánh giá khoá học này thế nào?

image

Đăng ký get khoá học Udemy - Unica - Gitiho giá chỉ 50k!

Get khoá học giá rẻ ngay trước khi bị fix.