0% found this document useful (0 votes)
14 views

RPC Middleware Presentation

Uploaded by

Thompson Titewan
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
14 views

RPC Middleware Presentation

Uploaded by

Thompson Titewan
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 11

Understanding RPC

Middleware Technology
Bridging Communication in Distributed Systems
Introduction to RPC Middleware
• Definition: Remote Procedure Call (RPC)
Middleware enables a program to execute a
procedure on a remote system as if it were local.
• Purpose: Simplifies the development of distributed
applications by abstracting the communication
between systems.
How RPC Works
• Client-Server Model:Client: Initiates the procedure call.
• Server: Executes the requested procedure and sends
back the result.
• Steps:Client makes a call to a remote procedure.
• Middleware packages the call and sends it over the
network.
• Server middleware unpacks the call and executes the
procedure.
• Server middleware packages the result and sends it
back to the client.
• Client middleware unpacks the result and returns it to
the client application.
Key Components
• Stub: Client-side proxy that represents the remote
procedure.Skeleton:
• Server-side proxy that dispatches the call to the
actual procedure.
• Marshalling/Unmarshalling: Process of packaging
and unpackaging the procedure call and response
data.Transport Protocol:
• Network protocol used to send the call and
response (e.g., HTTP, TCP)
Benefits of RPC Middleware
• Simplicity: Hides the complexities of network
communication.
• Transparency: Allows remote procedure calls to
appear as local calls.
• Efficiency: Enables efficient communication
between distributed components.
• Scalability: Facilitates scaling of applications across
multiple servers.
Common RPC Middleware
Technologies
• Java RMI (Remote Method Invocation):Java-
specific.Supports communication between Java
applications.
• gRPC:Developed by Google.Uses HTTP/2 for transport and
Protocol Buffers (Protobuf) for serialization.Supports
multiple programming languages.
• Apache Thrift:Developed by Facebook.Supports multiple
languages.Offers a binary communication protocol and
code generation for different languages.
• CORBA (Common Object Request Broker
Architecture):Language-agnostic.Facilitates communication
between objects in a network.
gRPC Case Study
• Overview:
gRPC enables efficient communication with low
latency.Used in microservices architectures.
• Features:HTTP/2-based transport.Protobuf for
efficient serialization.Bi-directional
streaming.Authentication and load balancing
support.
Example Use Cases:
• Google services.Netflix for internal communication.
• Network Latency: Introduces delays due to network
communication.
• Error Handling: Complexities in managing network
failures and retries.
• Security: Ensuring secure communication over the
network.
• Versioning: Managing changes in remote
procedures and data structures.
Future of RPC Middleware
• Trends:
1.Increased adoption of gRPC in microservices and
cloud-native applications.
2.Enhanced security and encryption standards.
3.Integration with service meshes (e.g., Istio) for
better management and observability.
Conclusion
• Recap: RPC middleware simplifies communication
in distributed systems, offering benefits of
transparency, efficiency, and scalability.
• Key Takeaway: Choosing the right RPC middleware
depends on specific use cases, language support,
and performance requirements.
Q&A
• Open Floor: Invite questions from the audience.

You might also like