Production-grade decoupled multi-stage web crawler: URL Frontier (SQS), 8x 200Gbps Fetcher fleet with in-memory Unbound DNS caching and multi-provider round-robin, atomic Redis politeness delay locks with anti-synchronization jitter, S3 Raw HTML blob store (preventing message queue bloat), Further Processing SQS queue, auto-scaling Text & URL Parser workers, S3 Clean Text dataset, content-hash deduplication (Metadata DB index vs 14.4GB RedisBloom), and hop-depth crawler trap guards.
robots.txt & 1 req/s rate limits per host; recover from crawler crashes without losing progress using SQS visibility timeouts. Comprehensive architectural breakdown based on Evan King's HelloInterview guide.
In system design interviews, Evan King recommends delaying BOE calculations until solving a specific problem. Here is how we mathematically size the crawler fleet: