gRPC (gRPC Remote Procedure Calls) is an open source remote procedure call (RPC) system initially developed at Google in 2015. It uses HTTP/2 for transport, Protocol Buffers as the message format.
⏰ Timecode ⏰
0:00 Intro
04:30 Motivation behind gRPC
8:40 The problem with client libraries
16:40 gRPC Modes
17:20 Unary
17:40 Server streaming
18:30 Client streaming
19:10 Bidirectional
19:49 gRPC Coding Example!
57:00 gRPC Pros and Cons
01:12:30 Why you shouldn’t invent your own Protocol
In this video I want to explore gRPC, go through examples, pros and cons of gRPC.
Client/ Server communication
– SOAP
– HTTP (REST)
– WebSockets
Client Libraries
gRPC
gRPC Demo
– todos
gRPC Pros and Cons
Pros
– Fast two/uni and request
– Unform
– One library to rule them all
– Progress feedback( long synchronous requests) drop pluggable wait…)
– cancel request
– All benefits of H2 and Protobuff
Cons
– schema based (not everyone wants schema)
– Thick client – limited languages – Proxies still don’t understand it
– Still young
– Error handling
– No native browser support
– Timeouts, circuit breaker just like any RPC (pub/sub rules in this case)
Can you create your own protocol?
– Spotify example with Hermes
Source Code
https://github.com/hnasr/javascript_playground/tree/master/grpc-demo
Resources
https://grpc.io/docs/guides/
Haproxy grpc
https://www.haproxy.com/blog/haproxy-1-9-2-adds-grpc-support/
Nginx grpc
https://www.google.com/amp/s/www.nginx.com/blog/nginx-1-13-10-grpc/amp/
https://grpc.io/docs/guides/concepts/
Support my work on PayPal
https://bit.ly/33ENps4
Become a Member on YouTube
https://www.youtube.com/channel/UC_ML5xP23TOWKUcc-oAE_Eg/join
🧑 Courses I Teach
https://husseinnasser.com/courses
Backend Engineering Videos in Order
https://backend.husseinnasser.com
Database Engineering Videos
️Listen to the Backend Engineering Podcast
https://husseinnasser.com/podcast
Gears and tools used on the Channel (affiliates)
️ Slides and Thumbnail Design
Canva
https://partner.canva.com/c/2766475/647168/10068
️ Mic Gear
Shure SM7B Cardioid Dynamic Microphone
https://amzn.to/3o1NiBi
Cloudlifter
https://amzn.to/2RAeyLo
XLR cables
https://amzn.to/3tvMJRu
Focusrite Audio Interface
https://amzn.to/3f2vjGY
Camera Gear
Canon M50 Mark II
https://amzn.to/3o2ed0c
Micro HDMI to HDMI
https://amzn.to/3uwCxK3
Video capture card
https://amzn.to/3f34pyD
AC Wall for constant power
https://amzn.to/3eueoxP
Stay Awesome,
Hussein