gRPC
Remote procedure calls
gRPC is a framework for remote procedure calls—a way for programs on different computers to communicate as if calling local functions.
Developed by Google, the "g" officially stands for different words in each release. gRPC is widely used in microservices architecture, where many small programs need to exchange data efficiently: Our backend uses gRPC for service-to-service communication.
Binary serialization format
- serializationEncoding objects for transmission
- binaryConsisting of two parts
- streamingReal-time digital delivery
- multiplexingCombining signals on one line
contract · schema · message · bidirectional · channel · deadline · metadata · interceptor
Decomposed application architecture
- client-serverDistributed computing paradigm
- stubRetained portion after detachment
- skeletonInternal supportive framework
- sidecarMotorcycle's passenger pod
polyglot · cross-platform · interoperability · backend · endpoint · orchestration · containerized · scalability
Web service design paradigm
- SOAPWeb services messaging specification
- JSONLightweight data interchange format
- latencyDelay in system response
- performanceCarrying out a task
efficiency · bandwidth · overhead · speed · throughput · benchmarking · tradeoffs · migration
Occurring without processing delay
- pushForce something away
- subscriptionPaid recurring access
- backpressureResistance opposing fluid flow
- chunkingDividing into manageable parts
long-lived · event-driven · reactive · async · observer
protobuf
Binary serialization format
- serializationEncoding objects for transmission
- binaryConsisting of two parts
- streamingReal-time digital delivery
multiplexing · contract · schema · message · bidirectional · channel · deadline · metadata · interceptor · codec
microservices
Decomposed application architecture
- client-serverDistributed computing paradigm
- stubRetained portion after detachment
- skeletonInternal supportive framework
sidecar · polyglot · cross-platform · interoperability · backend · endpoint · orchestration · containerized · scalability · decoupling
REST
Web service design paradigm
- SOAPWeb services messaging specification
- JSONLightweight data interchange format
- latencyDelay in system response
performance · efficiency · bandwidth · overhead · speed · throughput · benchmarking · tradeoffs · migration · compatibility
real-time
Occurring without processing delay
- pushForce something away
- subscriptionPaid recurring access
- backpressureResistance opposing fluid flow
chunking · long-lived · event-driven · reactive · async · observer
Go
Territory-capturing board game
- JavaProgramming language from Sun
- PythonLarge nonvenomous squeezer
- C++Object-oriented systems language
Node.js · plugin · SDK · library · reflection · retry · timeout · TLS · authentication · authorization
- protocolsprotocol, TCP/IP, HTTP, HTTPS, diplomatic protocol
- microservicesmicroservices, container, containerization, orchestration, Docker
- .NET DevelopmentASP.NET, assemblies, namespaces, namespace, garbage collection
- APIsAPI, endpoint, webhook, SDK, request
- Internet ProtocolsTCP, HTTP, IP, HTTPS, UDP
- Open Source ProjectsNode.js, Jenkins, Prometheus, Helm, Flux
gRPCJSON
Lightweight data interchange format
XML · plain text · YAML · CSV
remote, procedure, call, remotely, remoteness, procedural, procedures, procedurally, calling