Overview
Syllabus
Intro
HOW DO MICROSERVICES TALK TO EACH OTHER?
A HIGH-PERFORMANCE. OPEN-SOURCE UNIVERSAL RPC FRAMEWORK
LET'S BUILD A CACHING SERVICE
IMPLEMENT THE METHODS
RETURNING ERRORS
SECURE TRANSPORT
protobuf serialization (pluggable) Clients open one long-lived connection to a grpc server A new HTTP/2 stream for each RPC call
MISBEHAVING CLIENTS: MULTITENANCY
IT'S TOO SLOW
ADD LOGGING
CLIENT INTERCEPTOR
SERVER INTERCEPTOR
ADD A TIMEOUT
NEW REQUIREMENT: DRY RUN
NETWORKS FAIL
ADD RETRY LOGIC
NON-IDEMPOTENT OPERATIONS
FAILED OPERATIONS ARE TIMING OUT
IT'S NOT THE SERVER
STRUCTURED ERRORS
FEATURE REQUEST: DUMP
ADD DEFENSIVE MEASURES
NOT ENOUGH MEMORY
START STREAMING
IT WORKS ...
SCALE OUT WITH LOAD BALANCING
CALL IT FROM OTHER LANGUAGES
SO WHAT'S THE BAD NEWS?
THE FUTURE
Taught by
Gopher Academy