System DesignOld question · last reported May 2025
Design a distributed system that improves both network utilization and end-to-end processing throughput. Explain the proposed architecture, the technologies you would select, and how the system would manage resources and assign work across its nodes.
High-level architecture of the distributed job processing system across regions
Constraints
The design must support multiple geographic regions.
Work should be distributable across independent worker nodes.
The system should account for both network bandwidth and compute capacity when placing tasks.
A single node or regional failure must not stop all processing.
The design must explain how tasks are queued, scheduled, monitored, retried, and reassigned when necessary.
The technology stack and its role in the architecture must be identified.