Skip to content
UdemyWeb DevelopmentPaid courseAll LevelsCertificate

Hands-On Go : Microservices With Protocol Buffers & gRPC (Udemy.com)

Protocol buffers (protobuf) & gRPC implementation using Go programming language (Golang) on microservice architecture

Created by: Timotius P

Last updated March 2026

icon
What you will learn

  • What is Protocol Buffers (Protobuf) and how to use it for data communication
  • Protocol Buffers Schema Definition : data types, list, syntax, etc
  • Protocol Buffers Schema Evolution
  • Implement Protocol Buffers with Go programming language
  • Implement 4 types of gRPC API using Golang : unary, server streaming, client streaming, and bi-directional
  • Use PostgreSQL database with gorm : Go Object Relational Mapping (ORM)
  • Use Hexagon Software Architecture (Port & Adapters) to build bank application on top of gRPC API with Golang
  • Building resilient gRPC : using timeout / deadline, retry, and circuit breaker
  • gRPC error handling, status codes, metadata, interceptor
  • gRPC - REST API gateway
  • Generate OpenAPI documentation for gRPC API

icon
Course Description

This course is designed to help learners understand and implement Protocol Buffers (protobuf) and gRPC using the Go programming language on microservice architecture.

The course is structured in a step-by-step manner, starting with an introduction to protobuf, its style guide, and course file structure. You will learn the theory behind various aspects of protobuf such as scalar types, repeated enum comments, protobuf JSON, nested message type, package, any, oneof, map, and schema evolution.

The course also covers the implementation of gRPC and its integration with protobuf. You will learn how to manage the gRPC repository using github, gRPC status, error handling, resiliency server, timeout, retry, and circuit breaker. Additionally, the course covers the implementation of metadata server and client, server interceptor, client interceptor, and gRPC-REST gateway.

Throughout the course, you will work on various hands-on codes that involve creating a banking application using gRPC and protobuf, as well as using PostgreSQL database and Go Object Relational Mapper (ORM) to works with database. By the end of this course, you will have the skills and knowledge required to create microservices using gRPC and protobuf with the Go programming language.

Requirements (must-have):

  • Basic knowledge of the Go programming language

  • Familiarity with git commands (push, pull, pull request, merge, branch)

Tools:

  • Go programming language

  • Protocol Buffers (protobuf)

  • gRPC

  • Github

  • Visual Studio Code (or any editor you like)

The course delivered in lab-style teaching, where you are assigned with a task tobe solved. There will be a guidance for each task so you can try hands-on. If you stuck, you can jump to the full solution.

The course contains 130+ lectures, which cover the following topics:

  • Introduction to protobuf

  • Writing a protobuf (style guide)

  • Scalar types, repeated, enums, and Protobuf JSON

  • Other message types, multiple files and import messages, nested message types, and packages

  • Any, oneof, and maps

  • Reading and writing Protobuf to disk and JSON

  • Schema evolution and additional data types

  • Option, field validation, and field number effect tips

  • Introduction to gRPC and whether to use it or not

  • Managing & automating Protobuf and gRPC github repositories with github action

  • Implementing a unary server and client, server streaming, client streaming, and bidirectional streaming

  • Implementing a bank gRPC application with PostgrSQL database preparation, fetching exchange rates, and summarizing transactions

  • Handling gRPC status and errors, error handling on the client side, and resiliency techniques such as timeout, retry, and circuit breaker

  • Implementing metadata, server and client interceptors

  • gRPC-REST gateway

By the end of the course, you will have gained a thorough understanding of how to implement Protocol Buffers and gRPC using the Go programming language. You will learned how to follow Protobuf style guides, organize Protobuf file structures, and work with scalar types, repeated, enums, maps, any, oneof, and nested message types. They will also have learned how to read and write Protobuf to disk and JSON, handle schema evolution (forward / backward compatibility), and use additional data types.

Furthermore, you will have gained hands-on experience in implementing various types of gRPC services, including unary, server streaming, client streaming, and bidirectional streaming. You will also have learned how to handle gRPC status and errors, implement resiliency techniques such as timeout, retry, and circuit breaker. You will learn how to convert your gRPC API to REST API, using gRPC-REST gateway. You will also learn how to generate OpenAPI / swagger documentation for gRPC.

In other words, you will have gained practical skills and knowledge that you can apply to building robust and scalable microservices using Protocol Buffers and gRPC with the Go programming language.

icon
Udemy Discount

The discount is applied through our link. Open the course from here and Udemy's current promotional price is applied at checkout on most courses, no code to type.

Some courses are excluded from Udemy's promotions. If the price does not drop, clear your browser cookies and use the button again.

icon
Instructor Details

Timotius P

Timotius came from small Indonesian city but now working on it's capital : Jakarta. He's been in software engineering job for years. His first job was in the large consumer finance in Indonesia. Then he took a role as Engineering Manager on Indonesian unicorn. Few moments after, he moved back to another large Indonesian consumer finance and take a role on Engineering & Architect Head.

Taking the role as Head, he get more time to coach his team members about software engineering practice.

With more than 5 years experience as Java developer, and for the last few years handle enterprise complexity as Engineering Manager & Enterprise Architect, he will be glad to deliver high quality courses containing information of various technologies and software architecture design skills that he has acquired through his professional experience.

His goal is to deliver courses that not only good in theory, but also applicable in real-life use cases. His courses give the concept, and the hand-coding experience. He will  also provide various resources, including source code to hands-on coding.

icon
More courses by Timotius P

$10.99

$99.99

$69.99

$69.99

$84.99

$74.99

icon
More Web Development courses

$19.99

$89.99

$89.99

$79.99

$10.99

$84.99

icon
Reviews

4.4

131 ratings on Udemy

Select a bar to show only those reviews.Select the bar again to show every rating.

By Scott Quayle on 1/12/2026

The example code doesn't work and there are no explanations as to how to troubleshoot issues encountered when running the code.

By Kumar Kunal on 11/20/2024

Great course on gRPC. The course has a very detailed explanation of gRPC concepts, along with examples.

By Naomi Han on 9/18/2024

good for learning from zero. the concept is clear. The coding practice can be as spoon-fed learning video, or if you like challenge, skip the video and try it first from the course guidance. I like it

By Martín Santamaría on 8/9/2024

Great course, full of topics

By Davin on 4/11/2024

The explanaition is deep, and the instructor clearly know how to teach. He explains step-by-step in easily understanding method. I also like the way this course presented, where you are given a task, and guidance on how to solve it. So it has many practices on real-world-like projects (including how to use database with GRPC! I think this is the only GRPC course that provide such material)

By JihanSatoru on 2/20/2024

Very detailed explanation. And the sample case is good to simulate cases. Simple but intuitive!

By Nur Azizah on 12/20/2023

it's very helpful, i like your guideline and the way you explain it. thank you so much

By Indra Octama on 11/18/2023

good, but too fast in explanation, maybe in the future you can improve it by giving a student time to practice

By Tawabocah Sekolah Coding on 7/11/2023

Love this course, explaining in detail and structured, step-by-step informations. Especially the way it encourage me to try my own code

By Tom Hetherington on 6/1/2023

This is a very comprehensive course. In fact I don't think there is a gRPC course that covers even half of the aspects of protocol buffers and gRPC that this course covers. The github work flow, and even the hexagonal design pattern used through the project is very nice bonus. Highly recommend for anyone who needs a tuneup, or is looking for another angle at designing gRPC into a project. However this course is pretty complicated. If you're not familiar the hexagonal design pattern, and you're also completely new to gRPC then this course may have too much abstraction up front. I would recommend taking a primer on either topic so the course isn't too overwhelming. There are pacing issues in the coding videos where the explanation and coding are not really in sync. There's a lot of code in the project which is not explained very well. There are plenty of moments that the instructor is not explaining code and is just flashing code blocks. I feel this is because the instructor may not be comfortable in over explaining code and concepts.

Showing all 10 reviews on CourseDuck

Read all 131 reviews on Udemy

icon
Quality Score

No CourseDuck member has rated this course yet. Taken it? Give each part a thumbs up or down.

Content Quality
/
Video Quality
/
Qualified Instructor
/
Course Pace
/
Course Depth & Coverage
/

Overall Score : 88 / 100