gRPC Masterclass with Java & Spring Boot [2024]

Unlock the Power of gRPC for Scalable and Efficient API Design in Microservices Architecture

4.64 (1172 reviews)
Udemy
platform
English
language
Software Engineering
category
instructor
gRPC Masterclass with Java & Spring Boot [2024]
9,369
students
16 hours
content
Mar 2024
last update
$89.99
regular price

What you will learn

Understand the fundamentals of gRPC

10X Performance

Master Protobuf for data modeling

Develop gRPC servers and clients

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

Build practical gRPC applications with Spring Boot

Advanced concepts like Interceptors

SSL / TLS

Description

Master gRPC for High-Performance Microservices with Spring Boot & Protocol Buffers

Empower yourself to build next-generation microservices with this comprehensive gRPC course. Learn how to leverage Protocol Buffers and Spring Boot to create scalable, efficient, and performant applications.

Key Takeaways:

  • Master Protocol Buffers: Gain a solid understanding of Google's language-neutral data format for seamless data exchange.

  • Unlock gRPC Potential: Explore the benefits of gRPC for microservices communication, achieving up to 10x faster performance compared to REST APIs.

  • Demystify RPCs: Dive deep into different RPC types (Unary, Streaming) and their effective implementation.

  • Conquer Load Balancing: Address load balancing challenges and implement effective strategies for optimal performance.

  • Secure Your Services: Implement robust authentication mechanisms using user and service tokens.

  • Handle Errors Confidently: Master error handling techniques with gRPC and Protobuf OneOf.

  • Spring Boot Integration: Seamlessly integrate gRPC with Spring Boot for efficient microservice development.

  • Best Practices & Real-World Insights: Learn industry best practices and overcome real-world challenges in gRPC deployments.

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.

Content

Introduction

Problem Statement
HTTP/2-vs-HTTP/1.1
gRPC-vs-REST - Performance Comparison
Course Structure

Protocol Buffers

Proto - Introduction
[Resource] - Proto Dependencies
Proto - Project Setup
Proto - A Simple Person Message Creation
Proto - Java Options
Proto - Person Builder Pattern Demo
Proto - Equals Method
Proto - Serialization & Deserialization
[Resource] - Jackson Dependency
Proto vs JSON - Performance Comparison - Part - 1
Proto vs JSON - Performance Comparison - Part - 2
Proto vs JSON - Performance Comparison - Part - 3
Proto - Adding Comments
Proto - Auto Generate JS File - Demo
[Optional]-[Resource] - Protoc
Protoc Tool Installation
Proto - Scalar Types
Proto - Composition Demo
Proto - Collection Demo
Proto - Map Demo
Proto - Enum Demo
Proto - Default Values
Proto - Importing Modules
Proto - OneOf - Demo
Proto - Wrapper Types
Proto - How It Works - Demo
Proto - Tags
Proto - API/Message Changes - Part - 1
Proto - API/Message Changes - Part - 2
Proto - API/Message Changes - Part - 3
Proto - API/Message Changes - Part - 4
Proto - Summary
Quiz

gRPC - Introduction & Unary RPC

gRPC - Introduction
gRPC - RPC Types
[Resource] - gRPC Dependencies
gRPC - Project Setup
Unary - Service Definition
Unary - BankService - getBalance - Implementation
Unary - GRPC Server
Unary - Client's Blocking Stub
BankService - A Simple DB Using Map
BankService - A Simple DB Using Map - Note
[Resource] - BloomRPC
Unary - BloomRPC - Demo
Unary - Node Client

gRPC - Server Streaming RPC

Server Streaming - Introduction
Server Streaming - Service Definition
Server Streaming - Money Withdrawal Service Implementation
Server Streaming - BloomRPC Test
Server Streaming - Validations / Error Handling
gRPC - Error Codes
Server Streaming - Blocking Client
Server Streaming - Async Client
Server Streaming - Count Down Latch
Server Streaming vs Unary
Quiz

gRPC - Client Streaming RPC

Client Streaming - Introduction
Client Streaming - Service Definition
Client Streaming - Bank - Deposit Request - Implementation - Part - 1
Client Streaming - Bank - Deposit Request - Implementation - Part - 2
Client Streaming - Client Response Observer Implementation
Client Streaming - Stream Observer - How It Works

gRPC - Bi-Directional Streaming RPC

BiDi - Introduction
BiDi - Service Definition
BiDi - Transfer Service - Implementation
BiDi - Client Side Stream Observer Implementation
BiDi - Client Side Stub Request And Response
BiDi - Transfer Service Demo
BiDi - Single Response vs Streaming Response
BiDi - How To Perform CRUD

Snakes & Ladders - Game / Assignment

Game - Introduction
[Optional]-[Resource]-Rules
Game - Hints
Game - Service Definition
Game - Die Streaming Observer Implementation
Game - Applying Snakes & Ladders Rules
Game - Players State Streaming Observer Implementation
Game - Client Server Finale

Channel & Load Balancing

Load Balancing - Introduction
Load Balancing - Lazy Connection Demo
Load Balancing - Server Side Load Balancing
Load Balancing - Nginx Install
Load Balancing - Project Setup
Load Balancing - Running Multiple gRPC Servers
[Resource] - Nginx Conf
Load Balancing - Nginx Conf
Load Balancing - Nginx Load Balancing Demo - Part - 1
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 Provider
Load Balancing - Client Side Load Balancing Demo
Load Balancing - Summary

Deadline

Deadline - Introduction
Deadline - Project setup
Deadline - Unary RPC - Demo
Deadline - Server Streaming RPC Issue
Deadline - Server Streaming RPC - Issue Fix

Interceptors

Interceptor - Introduction
Interceptor - Global Deadline Implementation
Interceptor - Global Deadline - Demo
Interceptor - Key / Value Pairs - Introduction
Interceptor - Attaching Client Service Token Via Metadata
Interceptor - Client Service Token Validation - Implementation
Interceptor - Client Service Token Validation - Demo
Interceptor - Attaching User Session Token - Introduction
Interceptor - Attaching User Session Token - Implementation
Interceptor - User Session Token Validation - Implementation
Interceptor - User Session Token Validation - Demo
Interceptor - Context - Introduction
Interceptor - User Role - Auth Interceptor Implementation
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 - Service Layer Changes
Error Handling - Custom Error Via Metadata

SSL / TLS

SSL/TLS - Introduction
[Optional-Resource] - SSL/TLS
SSL/TLS - Becoming CA
SSL/TLS - Generating Certificates
SSL/TLS - Server Side Changes
SSL/TLS - Demo

Miscellaneous

Misc - Executors
Misc - Accessing gRPC via Web

Spring Boot Integration

Spring Boot Integration - Introduction
Spring Boot Integration - Application Walk-through
Spring Boot Integration - Spring Initializer
Spring Boot Integration - Multi Module Maven Project
Spring Boot Integration - Service Definition
Spring Boot Integration - User Service - Implementation
Spring Boot Integration - User Service - Resources
Spring Boot Integration - Movie Service - Implementation
Spring Boot Integration - Movie Service - Resources
Spring Boot Integration - Aggregator Service - Controller
Spring Boot Integration - User Movie Suggestion Service - Part 1
Spring Boot Integration - User Movie Suggestion Service - Part 2
Spring Boot Integration - User Movie Suggestion Service - Demo

Thank You

Thank you!

Course Resources

Resources

Reviews

Gustavo
October 31, 2023
I was expecting something deeper in some cases, like in the beginning of the course we talked a lot about the differences of HTTP 1.1 + Json and HTTP 2.0 + Protobufs, and I was hoping in the end a conclusion about it, about the tradeoffs of each technology, benchmark of performance using gRPC against a common REST request and things like that, for me the worst part of the course is the end, the teacher starts in good way, with good examples and explanations, but at the end I was expecting more, a resolution/conclusion about what we saw at the entire course. Besides that, for who just want to know about gRPC in a "beginner way" or to implements in a personal project, that's a nice course, instead of it I recommend, if you a deep dive on the technology that's not for you (in my opinion), of course if can do that the course, so do the course and take your opinion.
Hussam
September 16, 2023
The instructor needs to work on his accent. The instructor tells more info outside the gRPC context. The instructor takes much time to tell small pieces of info The instructor tried to focus on other topics and left gRPC.
Ruslan
July 17, 2023
bad variable naming and examples (even if subject is simple enough to understand). It takes effort to follow the code logic because bad variable naming and examples. Thanks
Lucas
June 2, 2023
Thank you Vinoth for this amazing course, I couldn't find ant better resource then that to learn, I really appreciate.
Robel
April 23, 2023
You took your time to explain all the neaty greaty of this course. Your passion to teach is amazing. Good Work !
Dylan
April 13, 2023
excellent course for 2 big reasons: 1. the instructor was easy to understand 2. making us code each step was key
Swadeep
March 6, 2023
Really very nice course. I have learnt a lot. Definitely it will help me in my project work. Thank you to the teacher.
Kumar
February 24, 2023
Thanks for your great examples. very clear to understand how gRPCworks to implement in real-time environments
ali.
February 13, 2023
can you add little more about Realtime method by giving example from fintech model, everything is fine just add this thing or create new series
Nikola
February 9, 2023
Yes, it is good but I think there are some information needs to be explained in more detail Like the count of CPU cores chrome opened in HTTP 1 request And the flow control and header compression of HTTP 2
Mansoor
January 21, 2023
I was not aware with gRPC previously, however this course is beautifully organised for both novices and experienced software developers. I would say it's the best thing I've ever learnt.
Edu
December 22, 2022
Es un curso muy completo para un nivel bajo y medio. Toca varias cosas interesantes como los interceptores, deadlines, ssl. Es un curso muy recomendable
Jerry
December 19, 2022
Great course! Only wish the instructor had included the repo and the slides at the top. I found out about these after I've done with the course... Could make the examples more realistic to reflect bi-directional streaming use cases etc.
Michele
August 8, 2022
Great course on gRPC. Excellent explanation and with many examples. The course covers all the basic topics and goes in depth on many aspects. I reccommend it. I would have liked to see an example of gRPC communication between dockerized microservices to see the part of integration with a service discovery (Consul or others).
Paul
May 4, 2022
Good course which covers all the basics to get a good grounding in gRPC. I would have liked to see some section on using gRPC in real world applications and any tradeoffs that can crop up.

Coupons

DateDiscountStatus
4/24/202250% OFF
expired

Charts

Price

gRPC Masterclass with Java & Spring Boot [2024] - Price chart

Rating

gRPC Masterclass with Java & Spring Boot [2024] - Ratings chart

Enrollment distribution

gRPC Masterclass with Java & Spring Boot [2024] - Distribution chart
3576019
udemy ID
10/18/2020
course created date
11/7/2020
course indexed date
Bot
course submited by