$30 off During Our Annual Pro Sale. View Details »

gRPC-Fullstack

Avatar for Posedio Posedio PRO
January 25, 2023

 gRPC-Fullstack

In this talk, Valentino will showcase a full-stack application fetching data from Spanner and serving it in a cloud-native webapp.
We will go through a hands-on gRPC connection setup, using Spanners native gRPC connectivity and see how this impacts the speed and reliability of our service.
Finally, we will see how the frontend application can control the data flow using backpressure and intelligent load balancing to maximise performance.

Avatar for Posedio

Posedio PRO

January 25, 2023
Tweet

More Decks by Posedio

Other Decks in Programming

Transcript

  1. 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
  2. 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
  3. 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)
  4. 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
  5. 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