gRPC is a high performance, open source, general RPC framework that puts mobile and HTTP/2 first. gRPC is designed to be low latency, low bandwidth & CPU efficient that can be used for to build backends, and consumed from mobile apps and IoT devices. It's also interoperable between multiple languages. Furthermore, gRPC supports both synchronous & asynchronous calls as well as multiple streaming options to allows you to build sophisticated real-time apps. Join this workshop to learn how to implement a few microservices with gRPC and integrating them with important facilities such as tracing and monitoring. We will:Create the service definitions using Protobuffer 3,Generate stubs with Maven,Implementing stubs for both one off requests and streaming calls,Propagate context information across threads,Propagate metadata across network boundaries using headers,Set timeouts/deadlines to service calls,Distributed tracing with Zipkin,Metrics collection w/ Prometheus,If we have time, integration w/ Spring ecosystem such as using Eureka for service discovery and perform client-side load balancing.