Ask HN: Recommendations for a book on Distributed Systems?
I wanted to ask what people have read and would recommend for a book(s) on Distributed Systems. Both the Coulouris book and the Tanenbaum book seem to be pretty standard but the reviews and ratings on these seem to be underwhelming:
https://www.amazon.com/Distributed-Systems-Principles-Paradigms-2nd/dp/0132392275/
https://www.amazon.com/Distributed-Systems-Concepts-Design-5th/dp/0132143011
23 comments
[ 2.8 ms ] story [ 64.7 ms ] threadThings like ring quorums are implemented by Cassandra and other systems, I just didn't know about them (ie Cassandra et al...) to put a face to the name back then.
One thing to do is to start reading papers, and branch out from there. There's a few major ones like the Map-Reduce Paper, BigTable, Dremel, Raft, perhaps Paxos etc... and use the citations to then deepen your understanding.
Also there's plenty of people here who can always answer questions. :)
Cheers.
[0] http://pages.cs.wisc.edu/~swift/classes/cs739-fa14/wiki/pmwi...
https://www.manning.com/books/the-little-elixir-and-otp-guid...
It's easier to build distributed apps with Elixir because of Erlang's OTP. Check it out, I'm sure it'll be interesting for you.
http://cs-www.cs.yale.edu/homes/aspnes/classes/465/notes.pdf
Also as a side note, does anyone know why are the Amazon categories so bad? http://prntscr.com/dr3itj This book is classified in "javascript".
You might also find this book helpful https://www.amazon.com/Systems-Performance-Enterprise-Brenda...
since it's essentially about how to perf measure, and debug computers in the cloud which is the annoying part of distributed systems.
Also you should keep in mind that there are some books that are specifically about doing distributed systems using a particular framework e.g. this one on using Akka on JVM https://www.amazon.com/Akka-Action-Raymond-Roestenburg/dp/16...
http://videlalvaro.github.io/2015/12/learning-about-distribu...
http://dancres.github.io/Pages/
http://book.mixu.net/distsys/single-page.html
There does not seem to be a lot out there that bridges the gap between very theoretical papers and real world usage. There's also a lot of handwaving about how "distributed systems are hard!", which is absolutely not telling me something I did not already know.
https://gist.github.com/macintux/6227368
nontrivial distributed systems are like crypto: don't roll your own primitives unless you are a masochist, fetishist, time-rich or forced to.
0. http://research.microsoft.com/en-us/um/people/lamport/pubs/p...
I never read the book, but took a course with author based on this book. It was fun and interesting; covering both basic and advanced concepts in distributed systems.
I'd recommend it.
0: http://book.mixu.net/distsys/single-page.html
Andrew S. Tanenbaum and 1 more Distributed Systems: Principles and Paradigms (2nd Edition) 2nd Edition ISBN-13: 978-0132392273, ISBN-10: 0132392275