
Ask HN: Need some advice to sharpen distributed-systems design skills - kartiksura
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.
======
throwbsidbdk
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.

------
eyer2016
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

