Live data from Hacker News

Untitled topic

news.ycombinator.com

1–2 of 2 posts

Re: undefined

#2
I recently completed a project building a distributed web crawler using Golang. The architecture is inspired by how Google designed its crawler.

I wrote a detailed series tutorial explaining my design decisions and how I implemented each component:

Part 1 - Architecture overview: https://medium.com/p/7f4281f9f539

Part 2 - Code walkthrough: https://medium.com/p/7a9b9a1e3829

The full source code is available on GitHub: https://github.com/tonywangcn/distributed-web-crawler

Some key highlights:

Uses Redis + Bloom Filters for fast de-duplication Built a distributed queue with Redis for assigning scraping tasks Persists scraped data to MongoDB Implemented exponential backoff for retries Collects real-time stats using Redis Hashes

This was a great learning experience for me to build a complex distributed system. Let me know if you have any feedback on the architecture, code, or tutorial writeup! I'm hoping this can be a useful resource for anyone wanting to learn more about scraping system design.