Design a Cloud Print / Document Delivery Service
Problem
Design a cloud print service that lets users print to any registered printer from anywhere.
Requirements
Functional:
- Register printers; submit jobs from web/mobile
- Queue and deliver jobs to printers (often behind NAT)
- Status and history
- Secure release printing
Non-functional:
- Millions of printers, intermittent connectivity
- Reliable delivery, no duplicate prints
- Secure
Discussion points
- Printer connectivity (long-poll/WebSocket through NAT)
- Job queue and idempotent delivery
- Format conversion/rendering
- Auth and secure release
- Observability of job success
added …