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

  1. Printer connectivity (long-poll/WebSocket through NAT)
  2. Job queue and idempotent delivery
  3. Format conversion/rendering
  4. Auth and secure release
  5. Observability of job success
added …
LeaderboardSalaryAccount