CS 4459 - RPC Assignment
Building a Resilient RPC Calculator Service
Welcome to the RPC (Remote Procedure Call) assignment! In this project, you'll build a distributed calculator service using Python and gRPC, applying key concepts from distributed systems.
🎯 Quick Links
-
Getting Started
Set up your development environment and learn the basics
-
Assignment Parts
Four progressive parts building a resilient RPC service
-
Submission
Requirements, deadlines, and grading rubric
-
Code Examples
Starter code and reference implementations
📚 What You'll Build
A calculator service that demonstrates:
- Basic RPC - Client-server communication with gRPC
- Failure Handling - Timeouts, retries, and error recovery
- Idempotency - Safe retry mechanisms for stateful operations
- Circuit Breaker - Preventing cascading failures
⏱️ Timeline
| Week | Tasks |
|---|---|
| Week 1 | Complete Parts 1 & 2 |
| Week 2 | Complete Parts 3 & 4 |
| Week 3 | Testing, documentation, video demo |
Due Date: [TBD]
🛠️ Technologies
- Python 3.8+
- gRPC (Google's RPC framework)
- Protocol Buffers (Data serialization)
Start Here
New to gRPC? Begin with the Getting Started guide to set up your environment!