Fast & Efficient Microservices with Binary Protocol - gRPC, Ray Tsang
Channel: Bulgarian Java User Group
Date: 2018-06-28

gRPC is a high performance, open source, general RPC framework that puts mobile and HTTP/2 first. gRPC is based on many years of Google's experience in building distributed systems - it is designed to be low latency, bandwidth and CPU efficient, to create massively distributed systems that span data centers, as well as power mobile apps, real-time communications, IoT devices and APIs. It's also interoperable between multiple languages. But beyond that fact that it's more efficient than REST, we'll look into how to use gRPC's streaming API, where you can establish server-side streaming, client-side streaming, and bidirectional streaming! This allows developers to build sophisticated real-time applications with ease. In addition to learning about gRPC and HTTP/2 concepts with code and demonstrations, we'll also deep dive into integration with existing build systems such as Maven and Gradle, but also frameworks such as Spring Boot and RxJava. - Configuring projects to generate gRPC stub code - Writing/using a Spring Boot starter to run gRPC server - Integrating w/ RxJava's observable sequences, which matches very well with gRPC's Stream Observable constructs