Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
gRPC Microservices 101
Ray Tsang
@saturnism
Bret McGowen
@bretmcg
@saturnism @bretmcg @grpcio #s1p
Who are we?
Ray Tsang / @saturnism
Developer Advocate, Google Cloud Platform
● New York, ...
@saturnism @bretmcg @grpcio #s1p
A B
C D
@saturnism @bretmcg @grpcio #s1p
A B
C
D
@saturnism @bretmcg @grpcio #s1p
A B
C
D
@saturnism @bretmcg @grpcio #s1p
A B
C
DHow?
@saturnism @bretmcg @grpcio #s1p
RPC? Sounds Familiar?
Distributed systems, service oriented… sounds familiar?
Remember CO...
@saturnism @bretmcg @grpcio #s1p
Why RPC?
Efficient, Strongly Typed
Operations not expressible by REST
Can be great if sim...
@saturnism @bretmcg @grpcio #s1p
At Google, we use Stubby
O(1010
) RPC per second
@saturnism @bretmcg @grpcio #s1p
At Google, we use Stubby
10,000,000,000 RPC per second
@saturnism @bretmcg @grpcio #s1p
simple & idiomatic
performant & scalable
interoperable & extensible
gRPC Remote Procedure...
@saturnism @bretmcg @grpcio #s1p
IDL
HTTP/2
Protobuffer 3
gRPC Remote Procedure Call framework
@saturnism @bretmcg @grpcio #s1p
HTTP/2HTTP/1.1
http://www.http2demo.io/
@saturnism @bretmcg @grpcio #s1p
gRPC Remote Procedure Call framework
Binary Protocol
@saturnism @bretmcg @grpcio #s1p
gRPC Remote Procedure Call framework
Binary Protocol
@saturnism @bretmcg @grpcio #s1p
Languages
gRPC Remote Procedure Call framework
C++, Objective-C
PHP, Python, Ruby
Node.js...
@saturnism @bretmcg @grpcio #s1p
Languages
gRPC Remote Procedure Call framework
C++, Objective-C
PHP, Python, Ruby
Node.js...
Google Cloud Platform 18
Live coding?
Thank You
Ray Tsang
@saturnism
Bret McGowen
@bretmcg
Resources
grpc.io
github.com/LogNet/grpc-spring-boot-starter
kubernet...
Upcoming SlideShare
Loading in …5
×

gRPC 101 for Spring Developers

6,403 views

Published on

SpringOne Platform 2016
Speaker: Ray Tsang; Developer Advocate, Google

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.

-Writing/using a Spring Boot starter to run gRPC server
-Configuring projects to generate gRPC stub code
-Integrating w/ RxJava's observable sequences, which matches very well with gRPC's Stream Observable constructs

Published in: Technology
  • Be the first to comment

gRPC 101 for Spring Developers

  1. 1. gRPC Microservices 101 Ray Tsang @saturnism Bret McGowen @bretmcg
  2. 2. @saturnism @bretmcg @grpcio #s1p Who are we? Ray Tsang / @saturnism Developer Advocate, Google Cloud Platform ● New York, NY ● Loves to travel ● Post food on Instagram! Bret McGowen / @bretmcg Developer Advocate, Google Cloud Platform ● New York, NY ● Love to sleep ● Read memes on Instagram
  3. 3. @saturnism @bretmcg @grpcio #s1p A B C D
  4. 4. @saturnism @bretmcg @grpcio #s1p A B C D
  5. 5. @saturnism @bretmcg @grpcio #s1p A B C D
  6. 6. @saturnism @bretmcg @grpcio #s1p A B C DHow?
  7. 7. @saturnism @bretmcg @grpcio #s1p RPC? Sounds Familiar? Distributed systems, service oriented… sounds familiar? Remember CORBA? DCOM? RMI? SOAP? I found this the Hello World the other day...
  8. 8. @saturnism @bretmcg @grpcio #s1p Why RPC? Efficient, Strongly Typed Operations not expressible by REST Can be great if simple and interoperable
  9. 9. @saturnism @bretmcg @grpcio #s1p At Google, we use Stubby O(1010 ) RPC per second
  10. 10. @saturnism @bretmcg @grpcio #s1p At Google, we use Stubby 10,000,000,000 RPC per second
  11. 11. @saturnism @bretmcg @grpcio #s1p simple & idiomatic performant & scalable interoperable & extensible gRPC Remote Procedure Call framework
  12. 12. @saturnism @bretmcg @grpcio #s1p IDL HTTP/2 Protobuffer 3 gRPC Remote Procedure Call framework
  13. 13. @saturnism @bretmcg @grpcio #s1p HTTP/2HTTP/1.1 http://www.http2demo.io/
  14. 14. @saturnism @bretmcg @grpcio #s1p gRPC Remote Procedure Call framework Binary Protocol
  15. 15. @saturnism @bretmcg @grpcio #s1p gRPC Remote Procedure Call framework Binary Protocol
  16. 16. @saturnism @bretmcg @grpcio #s1p Languages gRPC Remote Procedure Call framework C++, Objective-C PHP, Python, Ruby Node.js, Go, C#, Java
  17. 17. @saturnism @bretmcg @grpcio #s1p Languages gRPC Remote Procedure Call framework C++, Objective-C PHP, Python, Ruby Node.js, Go, C#, Java
  18. 18. Google Cloud Platform 18 Live coding?
  19. 19. Thank You Ray Tsang @saturnism Bret McGowen @bretmcg Resources grpc.io github.com/LogNet/grpc-spring-boot-starter kubernetes.io Our Kubernetes talk: bit.ly/spring-k8s Google Cloud Platform: cloud.google.com

×