SlideShare a Scribd company logo
gRPC
- High-performance
- Open source
- Universal RPC framework
What is gRPC?
gRPC is an open source remote procedure call
system initially developed at Google in 2015. based
on HTTP/2 protocol using Protocol Buffers
as interface description language.
In gRPC, client application can directly call a method
on a server application on a different machine as if
it were a local object, making it easier for you to
communicate between microservices.
Features
• Based on HTTP/2 protocol
• Protocol Buffer message
• Persistent connection
• No serialization required
• Bi-directional streaming
• Point to point data stream
Architecture
Sample
Protocol Buffer Interface
message EntityInfoRequest {
string entity_id = 1;
}
message EntityInfoResponse {
string id = 1;
string field_1 = 2;
string field_2 = 3;
string field_3 = 4;
bool field_4 = 5;
string created_on = 6;
}
service EntityService {
rpc getEntityInfo(EntityInfoRequest) returns (EntityInfoResponse) {}
}
Key Benefits
• gRPC based on HTTP/2. which is a Binary
protocol, but HTTP 1.1 is Textual. Binary
protocol is much efficient to parse and its
safe.
• gRPC uses Protobuf messages which is
compressed binary encoded structured data.
• gRPC is multiplexing in nature so it
overcomes the Head-of-Line Blocking
problem of HTTP1.1.
• gRPC uses header compression to reduce
overhead.
• gRPC also supports Duplex Streaming.
Primary
Use Cases
• In microservices based application infrastructure
services/servers can talk to each other using gRPC
over persistent connection to reduce overhead of
multiple TCP handshaking.
• If application required duplex streaming with high
data volume gRPC can help due to it’s binary
encoded compress protocol buffer messaging.
REST
&
gRPC
REST gRPC
Based on HTTP/1.1 Based on HTTP/2
Supports XML, JSON based
textual data format
Supports Protocol buffer based
binary data format
No duplex streaming supported Duplex streaming supported
No RPC interfaces available Based on RPC interface
Handshake for every request Persistent connection to reduce
processing time
Websockets
&
gRPC
Websockets gRPC
Based on HTTP/1.1 Based on HTTP/2
Supports XML, JSON based
textual data format
Supports Protocol buffer based
binary data format
No duplex streaming supported Duplex streaming supported
No RPC interfaces available Based on RPC interface
Pub/Sub based data streaming Point to Point data streaming
Benchmark
Data Websockets gRPC
1k messages
(1.2KB)
80ms 10ms
10k messages
(1.2KB)
125ms 41ms
100k messages
(1.2KB)
901ms 210ms
1k messages
(5KB)
146ms 56ms
10k messages
(5KB)
228ms 94ms
100k messages
(5KB)
1967ms 259ms
Conclusion
In microservices based environment related
communication gRPC would be one of the best
probable candidate among REST & Websockets &
gRPC due to it’s
• Binary data format (Protocol Buffer)
• HTTP/2 support
• Persistent connection
• Duplex streaming
Thank you!
• https://grpc.io/
• https://en.wikipedia.org/wiki/GRPC
• https://en.wikipedia.org/wiki/Protocol_Buffers

More Related Content

PDF
gRPC vs REST: let the battle begin!
PDF
Introduction to gRPC
PPTX
Introduction to gRPC
PPTX
REST vs gRPC: Battle of API's
PDF
Building microservices with grpc
PPTX
Dataplane programming with eBPF: architecture and tools
PDF
Module: Content Routing in IPFS
gRPC vs REST: let the battle begin!
Introduction to gRPC
Introduction to gRPC
REST vs gRPC: Battle of API's
Building microservices with grpc
Dataplane programming with eBPF: architecture and tools
Module: Content Routing in IPFS

What's hot (20)

PPT
HTTP Basics
PDF
Running Flink in Production: The good, The bad and The in Between - Lakshmi ...
PPTX
RPC: Remote procedure call
PPTX
HTTP request and response
PPTX
Point To Point Protocol
PDF
jQuery - Chapter 3 - Effects
PDF
Linux basic commands with examples
PPT
4 internet programming
PDF
Explore the World of Cilium, Tetragon & eBPF
PPTX
Introduction to gRPC (Application) Presentation
PDF
[D2] java 애플리케이션 트러블 슈팅 사례 & pinpoint
PDF
Authorization and Authentication in Microservice Environments
PPT
Tutorial 06 - Real-Time Communication on the Internet
 
PPTX
RPC communication,thread and processes
PPTX
PDF
Introduction to Apache Airflow
PDF
BGP (border gateway routing protocol)
PPTX
PPTX
Airflow 101
HTTP Basics
Running Flink in Production: The good, The bad and The in Between - Lakshmi ...
RPC: Remote procedure call
HTTP request and response
Point To Point Protocol
jQuery - Chapter 3 - Effects
Linux basic commands with examples
4 internet programming
Explore the World of Cilium, Tetragon & eBPF
Introduction to gRPC (Application) Presentation
[D2] java 애플리케이션 트러블 슈팅 사례 & pinpoint
Authorization and Authentication in Microservice Environments
Tutorial 06 - Real-Time Communication on the Internet
 
RPC communication,thread and processes
Introduction to Apache Airflow
BGP (border gateway routing protocol)
Airflow 101
Ad

Similar to gRPC - Fastest Data Transfer Protocol (20)

PDF
gRPC Design and Implementation
PPTX
GRPC.pptx
PPTX
Introduction to gRPC. Advantages and Disadvantages
PDF
gRPC services testing
PPTX
The new (is it really ) api stack
PPTX
Demystifying gRPC in .Net by John Staveley
PPTX
Building API Using GRPC And Scala
PPTX
Apa itu gRPC_.pptx
PDF
Bringing Learnings from Googley Microservices with gRPC - Varun Talwar, Google
PPTX
Presentation1.pptx
PPTX
Modern webservices using gRPC and Protocol Buffers in Golang
PPTX
Introduction to gRPC Presentation (Java)
PDF
REST in Peace. Long live gRPC!
PDF
Microservices Communication Patterns with gRPC
PPTX
What is gRPC introduction gRPC Explained
PPTX
"Networking Protocol | Communication & Data Exchange | Presentation"
PDF
REST in Peace. Long live gRPC!
PPTX
CocoaConf: The Language of Mobile Software is APIs
PPTX
What you need to know about .NET Core 3.0 and beyond
gRPC Design and Implementation
GRPC.pptx
Introduction to gRPC. Advantages and Disadvantages
gRPC services testing
The new (is it really ) api stack
Demystifying gRPC in .Net by John Staveley
Building API Using GRPC And Scala
Apa itu gRPC_.pptx
Bringing Learnings from Googley Microservices with gRPC - Varun Talwar, Google
Presentation1.pptx
Modern webservices using gRPC and Protocol Buffers in Golang
Introduction to gRPC Presentation (Java)
REST in Peace. Long live gRPC!
Microservices Communication Patterns with gRPC
What is gRPC introduction gRPC Explained
"Networking Protocol | Communication & Data Exchange | Presentation"
REST in Peace. Long live gRPC!
CocoaConf: The Language of Mobile Software is APIs
What you need to know about .NET Core 3.0 and beyond
Ad

Recently uploaded (20)

PDF
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
PDF
Empathic Computing: Creating Shared Understanding
PPTX
Programs and apps: productivity, graphics, security and other tools
PDF
Unlocking AI with Model Context Protocol (MCP)
PPTX
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
PDF
Encapsulation_ Review paper, used for researhc scholars
PDF
Advanced methodologies resolving dimensionality complications for autism neur...
PDF
Diabetes mellitus diagnosis method based random forest with bat algorithm
PDF
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
PDF
Spectral efficient network and resource selection model in 5G networks
PDF
Encapsulation theory and applications.pdf
PPT
“AI and Expert System Decision Support & Business Intelligence Systems”
DOCX
The AUB Centre for AI in Media Proposal.docx
PPTX
Spectroscopy.pptx food analysis technology
PDF
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
PDF
MIND Revenue Release Quarter 2 2025 Press Release
PDF
Reach Out and Touch Someone: Haptics and Empathic Computing
PDF
Profit Center Accounting in SAP S/4HANA, S4F28 Col11
PDF
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
PDF
Mobile App Security Testing_ A Comprehensive Guide.pdf
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
Empathic Computing: Creating Shared Understanding
Programs and apps: productivity, graphics, security and other tools
Unlocking AI with Model Context Protocol (MCP)
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
Encapsulation_ Review paper, used for researhc scholars
Advanced methodologies resolving dimensionality complications for autism neur...
Diabetes mellitus diagnosis method based random forest with bat algorithm
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
Spectral efficient network and resource selection model in 5G networks
Encapsulation theory and applications.pdf
“AI and Expert System Decision Support & Business Intelligence Systems”
The AUB Centre for AI in Media Proposal.docx
Spectroscopy.pptx food analysis technology
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
MIND Revenue Release Quarter 2 2025 Press Release
Reach Out and Touch Someone: Haptics and Empathic Computing
Profit Center Accounting in SAP S/4HANA, S4F28 Col11
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
Mobile App Security Testing_ A Comprehensive Guide.pdf

gRPC - Fastest Data Transfer Protocol

  • 1. gRPC - High-performance - Open source - Universal RPC framework
  • 2. What is gRPC? gRPC is an open source remote procedure call system initially developed at Google in 2015. based on HTTP/2 protocol using Protocol Buffers as interface description language. In gRPC, client application can directly call a method on a server application on a different machine as if it were a local object, making it easier for you to communicate between microservices.
  • 3. Features • Based on HTTP/2 protocol • Protocol Buffer message • Persistent connection • No serialization required • Bi-directional streaming • Point to point data stream
  • 5. Sample Protocol Buffer Interface message EntityInfoRequest { string entity_id = 1; } message EntityInfoResponse { string id = 1; string field_1 = 2; string field_2 = 3; string field_3 = 4; bool field_4 = 5; string created_on = 6; } service EntityService { rpc getEntityInfo(EntityInfoRequest) returns (EntityInfoResponse) {} }
  • 6. Key Benefits • gRPC based on HTTP/2. which is a Binary protocol, but HTTP 1.1 is Textual. Binary protocol is much efficient to parse and its safe. • gRPC uses Protobuf messages which is compressed binary encoded structured data. • gRPC is multiplexing in nature so it overcomes the Head-of-Line Blocking problem of HTTP1.1. • gRPC uses header compression to reduce overhead. • gRPC also supports Duplex Streaming.
  • 7. Primary Use Cases • In microservices based application infrastructure services/servers can talk to each other using gRPC over persistent connection to reduce overhead of multiple TCP handshaking. • If application required duplex streaming with high data volume gRPC can help due to it’s binary encoded compress protocol buffer messaging.
  • 8. REST & gRPC REST gRPC Based on HTTP/1.1 Based on HTTP/2 Supports XML, JSON based textual data format Supports Protocol buffer based binary data format No duplex streaming supported Duplex streaming supported No RPC interfaces available Based on RPC interface Handshake for every request Persistent connection to reduce processing time
  • 9. Websockets & gRPC Websockets gRPC Based on HTTP/1.1 Based on HTTP/2 Supports XML, JSON based textual data format Supports Protocol buffer based binary data format No duplex streaming supported Duplex streaming supported No RPC interfaces available Based on RPC interface Pub/Sub based data streaming Point to Point data streaming
  • 10. Benchmark Data Websockets gRPC 1k messages (1.2KB) 80ms 10ms 10k messages (1.2KB) 125ms 41ms 100k messages (1.2KB) 901ms 210ms 1k messages (5KB) 146ms 56ms 10k messages (5KB) 228ms 94ms 100k messages (5KB) 1967ms 259ms
  • 11. Conclusion In microservices based environment related communication gRPC would be one of the best probable candidate among REST & Websockets & gRPC due to it’s • Binary data format (Protocol Buffer) • HTTP/2 support • Persistent connection • Duplex streaming
  • 12. Thank you! • https://grpc.io/ • https://en.wikipedia.org/wiki/GRPC • https://en.wikipedia.org/wiki/Protocol_Buffers