O'Reilly logo

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

gRPC [Java] Master Class: Build Modern API and Microservices

Video Description

Better than REST APIs! Build a fast and scalable HTTP/2 API for your microservice with gRPC and protocol buffers (protobufs).

About This Video

  • Learn the gRPC theory to understand how gRPC works
  • Compare gRPC and the REST API paradigm
  • Write your gRPC service definition in .proto files

In Detail

RPC is a new and modern framework for building scalable, modern, and fast APIs. It is leveraged by many top tech companies such as Google, Square, and Netflix and enables programmers to write microservices in any language they want while keeping the ability to easily communicate between these services. It relies on protocol buffers as the transport mechanism and the Service Definition Language.

gRPC [Java] Master Class: Build Modern APIs and Microservices is the best way to get a great overview of all the possibilities offered by gRPC with your favourite language

  • Learn the gRPC theory to understand how gRPC works
  • Compare gRPC and the REST API paradigm
  • Write your gRPC service definitions in .proto files
  • Generate server and client code in Java using the Gradle gRPC plugin
  • Implement unary, server streaming, client streaming, and the bi-directional streaming API
  • Learn via exercises and solutions
  • Implement advanced concepts such as error handling, deadlines, and SSL security
  • Implement a full CRUD API on top of MongoDB
  • Get pointers to expand your learning journey and get inspired by real-world gRPC services

All the code files are placed at https://github.com/PacktPublishing/gRPC-Java-Master-Class-Build-Modern-API-and-Microservices

Downloading the example code for this course: You can download the example code files for all Packt video courses you have purchased from your account at http://www.PacktPub.com. If you purchased this course elsewhere, you can visit http://www.PacktPub.com/support and register to have the files e-mailed directly to you.

Table of Contents

  1. Chapter 1 : gRPC Course Overview
    1. gRPC Introduction 00:08:18
    2. Course Objective 00:03:01
  2. Chapter 2 : [Theory] gRPC Internals Deep Dive
    1. Protocol Buffers & Language Interoperability 00:08:40
    2. HTTP/2 00:08:47
    3. 4 Types of gRPC APIs 00:04:36
    4. Scalability in gRPC 00:01:38
    5. Security in gRPC (SSL) 00:01:12
    6. gRPC vs REST 00:05:10
    7. Section Summary - why use gRPC 00:00:45
  3. Chapter 3 : [Hands-On] gRPC Project Overview & Setup
    1. Java Gradle Project Setup 00:06:54
    2. Dummy Service Code Generation 00:04:35
    3. Server Setup Boilerplate Code 00:05:56
    4. Client Setup Boilerplate Code 00:05:14
  4. Chapter 4 : [Hands-On] gRPC Unary
    1. What's a Unary API? 00:01:33
    2. Greet API Definition 00:04:42
    3. Unary API Server Implementation 00:07:31
    4. Unary API Client Implementation 00:06:04
    5. [Solution] Sum API 00:08:13
  5. Chapter 5 : [Hands-On] gRPC Server Streaming
    1. What's a Server Streaming API? 00:02:26
    2. GreetManyTimes API Definition 00:02:21
    3. Server Streaming API Server Implementation 00:05:49
    4. Server Streaming API Client Implementation 00:04:04
    5. [Solution] PrimeNumberDecomposition API 00:07:13
  6. Chapter 6 : [Hands-On] gRPC Client Streaming
    1. What's a Client Streaming API? 00:01:53
    2. LongGreet API Definition 00:01:55
    3. Client Streaming API Server Implementation 00:07:23
    4. Client Streaming API Client Implementation - Part 1 - Refactoring 00:04:24
    5. Client Streaming API Client Implementation - Part 2 - Refactoring 00:10:10
    6. [Solution] ComputeAverage API 00:11:04
  7. Chapter 7 : [Hands-On] gRPC Bi-Directional Streaming
    1. What's a Bi-Directional Streaming API? 00:01:39
    2. GreetEveryone API Definition 00:01:40
    3. Bi-Directional Streaming API Server Implementation 00:03:53
    4. Bi-Directional Streaming API Client Implementation 00:07:45
    5. [Solution] FindMaximum API 00:07:48
  8. Chapter 8 : [Hands-On] gRPC Advanced Features Deep Dive
    1. [Theory] Errors in gRPC 00:03:36
    2. [Hands-On] Errors implementation 00:08:39
    3. [Theory] Deadlines 00:02:18
    4. [Hands-On] Deadlines 00:10:21
    5. [Theory] SSL Security 00:05:39
    6. [Hands-On] SSL Security 00:13:39
    7. [Demo] Language Interoperability 00:04:01
    8. gRPC Reflection & Evans CLI 00:09:06
  9. Chapter 9 : [Hands-On] CRUD API with MongoDB
    1. Install MongoDB 00:03:17
    2. Install MongoDB UI - Robo 3T 00:01:10
    3. Blog Service Java Setup 00:05:49
    4. CreateBlog Server 00:09:45
    5. CreateBlog Client 00:05:09
    6. ReadBlog Server 00:07:12
    7. ReadBlog Client 00:05:12
    8. UpdateBlog Server 00:07:39
    9. UpdateBlog Client 00:06:13
    10. DeleteBlog Server 00:05:30
    11. DeleteBlog Client 00:02:02
    12. ListBlog Server 00:03:34
    13. ListBlog Client 00:01:41
    14. Evans CLI test with CRUD 00:03:51
  10. Chapter 10 : Next Steps
    1. gRPC Services in the Real Word 00:04:01
    2. Congrats & Next Steps 00:00:59