Hacker News new | ask | show | jobs
Ask HN: Need some advice to sharpen distributed-systems design skills
2 points by kartiksura 3498 days ago
I am a developer in the bay area, who has worked on distributed systems (ad-tech). Most of the skills have been gained through real-life experience. I want to use the christmas vacation to learn distributed systems from ground up, especially system-design. Any pointers, advice would be helpful.
2 comments

Web based? Some things to read about:

Web - Rest services and token based authentication. Spa frontend driven by JSON APIs seems to be the most popular way to go.

Database - Cassandra is probably the closest to industry standard

Scaling servers - docker, kubernetes. I'm honestly not that familiar with this topic.

"Big data" processing - Apache zookeeper, hadoop, Apache spark and storm.

Data brokers - Kafka, rabbitmq

Document storage - ceph, lucune based solutions like some/elastic

I would also read about non-http messaging protocols like Google's protobufs, Apache arvo and the like. These protocols are preferable over http based protocol for exchanging data at scale because more efficient, simpler, and less processing overhead.

The most useful thing I've found is to find something that you've used like Cassandra or Redis ... Read some tutorial on how it's supposed to be used... Question every single aspect that you aren't 100% clear about