Slide 1

Slide 1 text

No content

Slide 2

Slide 2 text

Inspiration ● Idea during a conference ● Obsession with speed and performance ● RPC

Slide 3

Slide 3 text

Data representation?

Slide 4

Slide 4 text

Architecture

Slide 5

Slide 5 text

Spanner ● Fully managed rela=onal database ● Unlimited scale ● Strong consistency ● High availability

Slide 6

Slide 6 text

How does it work?

Slide 7

Slide 7 text

Interleaving ● Physically co-locates child rows with parent rows

Slide 8

Slide 8 text

RPC ● Procedures executed in different address space coded as normal procedure call ● Programmer does not explicitly code the details of the remote interaction ● Typically implemented via a request-response message- passing system

Slide 9

Slide 9 text

No content

Slide 10

Slide 10 text

Representational state transfer ● Standard way of communication between backend-frontend services today ● RESTful systems - stateless and separate concerns of client and server ● A request usually consists of: HTTP verb, header, path to resource, optional message body

Slide 11

Slide 11 text

REST vs RPC? ● RPC designed for actions, REST is resource-centric ● RPC executes procedures and commands with ease, works on conectionless or connection- oriented protocols (TCP/UDP) ● REST uses HTTP to communicate (application level protocol)

Slide 12

Slide 12 text

gRPC ● Open source high performance RPC ● Runs in any environment ● Efficiently connect services in and across data centers with pluggable support for load balancing, tracing health checking and authentication ● Uses HTTP/2 for transportation and Protocol Buffers as the interface description language

Slide 13

Slide 13 text

Load balancing ● Proxy - distributes the RPC call to one of the available backend servers ● Client-side - client aware of multiple backend servers and chooses one

Slide 14

Slide 14 text

Protocol Buffers ● Googles interchange format ● Mechanism for serialising destructured data ● Versioning

Slide 15

Slide 15 text

Example ● Service ● RPC ● Message

Slide 16

Slide 16 text

Architecture?

Slide 17

Slide 17 text

Live Demo!