
Discover gRPC for building modern API and microservices with Http2, streaming, and language interoperability. Learn to design data formats, error patterns, and scalable, authenticated, and monitored service communication with logging.
Build a gRPC foundation from theory to hands-on practice, then master advanced concepts. Learn to compare frameworks, write services, and handle errors, security, and deadlines.
Meet your instructor Jean, a software engineer and educator who helps teams adopt gRPC over rest APIs and explores data serialization and compression.
Learn why leaving an honest course review matters and when to rate after the introduction. See how overall reviews guide course quality and help other students choose.
Learn how gRPC relies on protocol buffers to define messages and services, enabling code generation and compact binary payloads. Explore language interoperability and four main implementations across languages.
Explore how http2 revolutionizes web communication by enabling a single long‑lived connection, multiplexing, and server push, with binary headers and SSL by default, pairing seamlessly with gRPC and protocol buffers.
Explore the four types of gRPC APIs: unary, server streaming, client streaming, and bidirectional streaming, and how to implement them with protocol buffers over http2.
gRPC scales with asynchronous server processing that keeps the main thread unblocked and handles requests in parallel; clients can choose asynchronous or synchronous responses, as Google's 10 billion rps shows.
Explore how gRPC secures communication through binary, schema-based serialization, easy TLS connections with SSL encryption, and interceptors for authentication, making gRPC a secure framework.
Compare gRPC and Rest to choose the right tool for the job, highlighting protocol buffers vs json, http2 versus http1, streaming, bidirectional support, and strict versus flexible API design.
See how gRPC generates code from Protocol Buffers, letting you define the API freely while TLS security and authentication interceptors protect data, with client, server, and bidirectional streaming beyond rest.
Initialize a Node.js project with npm init, install protobuf and grpc-js, add grpc-tools as a dev dependency, and generate protobuf artifacts using grpc tools protoc for dummy.proto.
Automate code generation for gRPC projects by configuring an npm script, pulling a generation script from GitHub, and running it to generate grid__pbjs from greet.proto.
Create a node.js gRPC server boilerplate by building a server folder with index.js, implementing main and cleanup, binding on localhost with insecure credentials, and handling ctrl-c for clean shutdown.
Create the client boilerplate in the grid directory, add an index.js, generate grid.pb code from grid.proto, and instantiate a greet service client with insecure credentials.
Define the unitary api in the grid proto file with grid request, grid response messages, and a grid rpc; compile with npm run pb gen to prepare for server-side implementation.
Implement the unary gRPC server by creating a service file, importing the generated greet service and pb definitions, and binding the service to the server.
Learn to implement a unary gRPC client in node.js that calls the grid greet endpoint, constructs a greet request with a first name, and handles the client.greet response.
Define a calculator proto for sum request and sum response, implement a node.js gRPC server and client, and run npm scripts to compute the sum of 1 and 1.
Define a server streaming endpoint in greet.proto with greet many times, accepting a greet request and returning a stream of greet responses, then generate code with npm run pb gen.
Develop a Node.js gRPC server that streams ten greeting responses per request, using a server streaming endpoint with call.write and call.end to implement the grid endpoint.
Implement a server streaming gRPC client that calls the greet many times endpoint, processes data events from the server, and prints each hello response like hello Clement number 0.
Define a gRPC primes api endpoint in node, stream prime responses from server to client, implement using primes proto, and run a full prime decomposition pipeline.
Define the long greet client streaming RPC in greet.proto, receiving a stream of greet requests and returning a greet response, then generate code with npm run pb gen.
Implement the long read RPC server in node by handling data and end events in the grid server to build greetings, then return a single grid response via callback.
Implement a client for a long read rpc by streaming names, handling the server callback, and printing hello responses such as hello Clement, hello Mary, and hello test.
Create avg.proto with int32 request and double response, implement a client streaming endpoint that computes total and count to return the average.
Define the bi directional streaming endpoint grid everyone in the grid proto, streaming grid requests and responses, then run npm run pb gen to verify protobuf correctness.
Implement bi-directional streaming api on the server by exporting greet everyone. Handle data and end events, log requests, send a hello response with the first name, and end the stream.
Implement a bidirectional streaming client for the greet everyone endpoint in a gRPC Node.js microservices setup, using a data event stream and client streaming patterns to print hello messages.
Explore building a gRPC Node.js max api using a bidirectional streaming proto, with max request and max response messages, and a client that streams numbers to receive new max values.
Implement a unary gRPC square root API with input validation that returns an invalid argument error for negative numbers, illustrating end-to-end error handling from proto definitions to client.
Implement a gRPC unary endpoint called grid with deadline, simulate processing delays, and demonstrate client-side deadlines by canceling requests when the server exceeds the deadline.
Generate certificates and enable mutual tls by configuring a server and client with ca, server certs, and private keys in an ssl directory. Use the provided script to generate and load these credentials to establish a secure grpc connection.
Set up blog boilerplate by configuring docker-compose with mongo and mongo express, creating blog server and client, defining blog proto, and adding scripts to spin up database and generate pb.
Configure your node server to connect to MongoDB by installing the MongoDB driver, creating a Mongo client, and connecting to blog DB and the blog collection, with a cleanup routine.
Define a blog proto with blog and blog_id messages, implement create, read, update, delete, and list RPCs, import google.protobuf.empty, and return empty for update/delete and a blog stream for list.
Create a gRPC node.js blog client to call the create blog endpoint using author id, title, and content. Return the blog id via a promise and await in main flow.
Define the read blog server endpoint and a reusable check_id helper for MongoDB ObjectID. Query by id and return the blog or report not found with gRPC status.
Implement a read blog client in Node.js to call the read blog API via gRPC, handling responses, errors, and invalid IDs with promise-based logic.
Build the update blog endpoint on the server using an async lambda, map the blog id to MongoDB _id, perform $set update, and handle errors and not found via callback.
Write a blog update client that calls update blog RPC, builds a request with id, author, title, and content, handles errors, and verifies the update via logs and browser view.
Define the list blogs endpoint on the server in a Node.js gRPC masterclass. Implement a server streaming flow that finds blogs, maps them to messages, and writes to the client.
Write a node client for the list blogs rpc, sending an empty request, consuming the server stream, and subscribing to data, error, and end events while logging results.
Implement the delete blog endpoint on the server side, map blog id to an object id, delete by id, handle not found and acknowledged writes, and return an empty response.
Demonstrates building a delete blog client in node.js, calling the gRPC delete endpoint with a blog ID. It handles success or error and verifies deletion via Mongo Express.
gRPC is a new and modern framework for building scalable, modern and fast API. 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 create communications between these services. It relies on Protocol Buffers for the transport mechanism and Service Definition language.
In this course, we are going to explore in-depth, with hands-on lectures, all the aspects to get started with gRPC.
This course is hands-on and you will implement two services: Greet and a Calculator Service
In just a few hours, you will know everything you need to know to write your .proto files, generate code in your Favourite Programming, and implement your services, servers, and client in NodeJS. There will be plenty of hands-on lectures and exercises for you to practice your newly acquired skills.
It's time to say goodbye to slow and clunky REST API, and opt-in for a better API framework.
gRPC Node.JS Master Class is the best way to get a great overview of all the possibilities offered by gRPC with your favorite language
> Learn the gRPC theory to understand how gRPC works
> Compare gRPC and REST API paradigm
> Write your gRPC service definition in .proto files
> Generate Server and Client Code in JavaScript
> Implement Unary, Server Streaming, Client Streaming and Bi-Directional Streaming API
> Practice your learning with 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
Note: This course expects you have some preliminary knowledge about Protocol Buffers and NodeJS.
Section outline:
gRPC Course Overview: Get an understand of the course objectives, how the course is structured, download the course code and get ready!
[Theory] gRPC Internals Deep Dive: Learn how gRPC works behind the scenes. Learn about HTTP/2, Protocol Buffers efficiencies, and the differences of gRPC and REST.
[Hands-On] gRPC Project Overview & Setup: Setup your project using NPM and learn how to trigger code generation
[Hands-On] gRPC Unary: API description and implementation
[Hands-On] gRPC Server Streaming: API description and implementation
[Hands-On] gRPC Client Streaming: API description and implementation
[Hands-On] gRPC Bi-Directional Streaming: API description and implementation
[Hands-On] gRPC Advanced Features Deep Dive: Advanced features such as Error Handling, Deadlines, SSL Security.
Next Steps: Some useful real-world links and where to take your learning from here
Instructor
My name is Clément Jean, and I'll be your instructor in this course. I teach about Protocol Buffers and gRPC with my focus always on helping my students improve their professional proficiencies. I am also the author of some of the most highly-rated and best-selling courses.
With development being a widely accepted and pursued career, I've decided it's time for students to properly learn about gRPC. So, let’s kick start the course! You are in good hands!
This Course Also Comes With:
Lifetime Access to All Future Updates
A responsive instructor in the Q&A Section
Links to interesting articles, and lots of good code to base your next template onto
Udemy Certificate of Completion Ready for Download
A 30 Day "No Questions Asked" Money Back Guarantee!
I hope to see you inside the course!