gRPC 101 for Spring Developers

Post on 06-Jan-2017

2,069 views 1 download

transcript

gRPC Microservices 101

Ray Tsang@saturnism

Bret McGowen@bretmcg

@saturnism @bretmcg @grpcio #s1p

Who are we?

Ray Tsang / @saturnismDeveloper Advocate, Google Cloud Platform

● New York, NY● Loves to travel● Post food on Instagram!

Bret McGowen / @bretmcgDeveloper Advocate, Google Cloud Platform

● New York, NY● Love to sleep● Read memes on Instagram

@saturnism @bretmcg @grpcio #s1p

A B

C D

@saturnism @bretmcg @grpcio #s1p

A B

CD

@saturnism @bretmcg @grpcio #s1p

A B

CD

@saturnism @bretmcg @grpcio #s1p

A B

CDHow?

@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...

@saturnism @bretmcg @grpcio #s1p

Why RPC?

Efficient, Strongly Typed

Operations not expressible by REST

Can be great if simple and interoperable

@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 & extensiblegRPC Remote Procedure Call framework

@saturnism @bretmcg @grpcio #s1p

IDL

HTTP/2

Protobuffer 3gRPC 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-CPHP, Python, Ruby

Node.js, Go, C#, Java

@saturnism @bretmcg @grpcio #s1p

Languages

gRPC Remote Procedure Call framework

C++, Objective-CPHP, Python, Ruby

Node.js, Go, C#, Java

Google Cloud Platform 18

Live coding?

Thank YouRay Tsang@saturnism

Bret McGowen@bretmcg

Resources grpc.io

github.com/LogNet/grpc-spring-boot-starterkubernetes.io

Our Kubernetes talk: bit.ly/spring-k8sGoogle Cloud Platform: cloud.google.com