Build super fast and super secure microservices with the gRPC high-performance messaging protocol and powerful Go language.
In gRPC Microservices in Go you’ll
The powerful gRPC Remote Procedure Call framework delivers superior speed and security over protocols like REST. When paired with Golang’s low-level efficiency and flexibility, gRPC and Go become a killer combination for latency-sensitive microservices applications. gRPC Microservices in Go shows you how to utilize these powerful tools to build production-grade microservices. You’ll learn to develop microservice inter-service communication patterns that are powered by gRPC, design backward compatible APIs, and apply hexagonal architecture to microservices.
Purchase of the print book includes a free eBook in PDF, Kindle, and ePub formats from Manning Publications.
About the technology
Go is perfect for writing fast, reliable microservices code, but that’s only half the story. You also need a communications framework like gRPC to connect your services and handle load balancing, tracing, health checking, and authentication. Together, Go and gRPC accelerate the development process and eliminate many of the challenges you face when building and deploying microservices.
About the book
gRPC Microservices in Go teaches you how to build production-ready microservices using Go and gRPC. In it, you’ll learn to create efficient APIs in Go, use gRPC for network communication, and deploy on cloud and Kubernetes. Helpful examples, including a complete eCommerce web app, make it easy to grasp each concept. You’ll also get an inside look at testing, deployment, and efficient DevOps practices for microservices.
What's inside
About the reader
For software developers who know the basics of Go.
About the author
Hüseyin Babal has been using Go in production since 2017 to build and maintain SaaS platforms.
Table of Contents
PART 1 - GRPC AND MICROSERVICES ARCHITECTURE 1 Introduction to Go gRPC microservices 2 gRPC meets microservices PART 2 - DEVELOPING, TESTING, AND DEPLOYING A GRPC MICROSERVICE APPLICATION 3 Getting up and running with gRPC and Golang 4 Microservice project setup 5 Interservice communication 6 Resilient communication 7 Testing microservices 8 Deployment PART 3 - GRPC AND MICROSERVICES ARCHITECTURE 9 Observability
Go stands quite high on my list of languages for microservice writing -- I may prefer Python for super-quick PoCs, Kotlin when the team-in-question has a strong Spring foundation, Rust when I want to have full control over memory or good Python inter-op. But if I needed something reasonably quick, reasonably performant, reasonably modular -- Go is for me the best choice, gRPC included.
The book starts with a general introduction, but shifts quickly to a hands-on approach, addressing the full cycle starting with development, going through packaging and deployment, and finalizing with observability.
Go as a language puts a strong emphasis on productivity and reliability (in the sense of being error-free, or at least handling all errors correctly). The book follows this in spirit, by being detailed yet not overwhelming, and pointing out the important/risky parts.
I didn't obtain the book as an introductory material as I'm already Go-proficient, but more as a refresher/reference since I don't use Go too frequent -- and it was a nice read. That said, I believe it would work well even if you are not very experienced with Go, and did just eg the official tutorial (https://go.dev/doc/tutorial/getting-s...). The basics of microservice development in general are also explained well.
I liked this book because it allows the reader feels confident in using gRPC. This is because this book introduces the reader to all the best practices for deploying Go applications, not limited to Go applications that use gRPC framework. Moreover, the author addresses all aspects a developer should consider to build a stable application: testing, integration testing and monitoring with most used tools/frameworks like Jager and OpenTelemetry.
"gRPC Microservices in Go" is an excellent guide for building high-performance and secure microservices with gRPC and Go. The book's hands-on approach instills confidence in using gRPC by providing clear examples and covering advanced topics like Resilient communication. It seamlessly integrates Go, emphasizing its simplicity and performance for microservices development, while also offering exhaustive insights into quality measures and best practices for monitoring gRPC services.
I had the chance to review this book before publication and I can say that Golang was also a great choice from the author to provide implementation details.
So even if you have beginner to intermediate knowledge of Golang, this book will bring you up to speed with gRPC!
It delivers exactly what it promised. I was quite fluent in Go, but didn't know gRPC, and it walked me through the matter in a very effective way. I feel that even if you don't know Go, it would still be a valuable resource in learning it.