chapter one

1 Introduction to Go gRPC Microservices

 

This chapter covers

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

Good architecture design and proper technology selection helps you a lot to build a high-quality product by eliminating repetitive works and providing best toolkit for software development and maintenance. Go language is a good candidate to build high-performance Cloud-Native distributed applications like Microservices in Kubernetes at a big scale. Microservices with gRPC communication has already enabled lots of companies to implement their products with small services based on their business capabilities, and let those services communicate with each other and with public world smoothly. With the help of Go, the distribution of those services becomes easier due to its fast compilation, being able to generate executable binaries, and many other reasons that we will see in detail with real-life examples in 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.  gRPC

1.3 When to Use gRPC

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