chapter one

1 Introduction to Go gRPC Microservices

 

This chapter covers

  • Introducing Go gRPC Microservices
  • Comparing gRPC with REST
  • Understanding when to use gRPC
  • A better understanding of gRPC microservices with production-grade use-cases

Good architecture design and proper technology selection help you a lot to build a high-quality product by eliminating repetitive work and providing the best toolkit for software development and maintenance. While one of the main advantages of Microservice Architecture is that it can be implemented in any language, Go is particularly suited for building high-performance Cloud-Native distributed applications like Microservices in Kubernetes at a big scale. Microservices with gRPC communication have already enabled many companies to implement their products with small services based on their business capabilities and let those services communicate smoothly with each other and the public. With the help of Go, the distribution of those services becomes easier due to its fast compilation, ability to generate executable binaries, and many other reasons that we will see in detail with real-life examples in the upcoming chapters.

1.1 Benefits of gRPC Microservices

1.1.1 Performance

1.1.2 Code Generation & Interoperability

1.1.3 Fault Tolerance

1.1.4 Security

1.1.5 Streaming

1.2 REST vs. RPC

1.3 When to Use gRPC

1.3.1 Who is this book for?

1.4 Production-grade Use-cases

1.4.1 Microservices

1.4.2 Container Runtime

1.4.3 CI/CD Pipeline

1.4.4 Monitoring & Observability

1.4.5 Public access

1.5 Summary