1 Introduction to Go gRPC microservices

 

This chapter covers

  • Introducing Go gRPC microservices
  • Comparing gRPC with REST
  • Understanding when to use gRPC
  • Applying gRPC microservices to production-grade use cases

Good architecture design and proper technology selection help ensure a high-quality product by eliminating repetitive work and providing the best tool kit for software development and maintenance. While microservice architecture can be implemented in any language, Go is particularly suited for building high-performance cloud-native distributed applications such as microservices in Kubernetes on a large scale. Microservices with gRPC communication have already enabled many companies to implement their products with small services based on their business capabilities and have 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, which 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 and 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 and observability

1.4.5 Public access

Summary

sitemap