5 ms·
Ask HN: Best books on modern distributed systems
I've read designing data intensive systems and it covered distributed systems a bit.
I don't find most textbooks to be an actually good intro outside of a course setting. For example, I own Andrew Tannenbaum's Distributed System book and a few others of his. But his writing style is too dense for me to make enough progress without giving up.
What other books (probably not textbooks) do you recommend on distributed systems?
- rodikana 5y agoConcurrency and Scalability for Distributed Systems is on my reading list, it's in early release but I think it's what you want https://learning.oreilly.com/library/view/concurrency-and-scalability/9781098106058/ https://learning.oreilly.com/library/view/concurrency-and-sc...
- delmatte 5y agoThis sounds great !
- heuroci 5y agoThis depends a bit on what you aim to get out of reading them? I liked both of the books you mentioned for different reasons personally. Do you have a set of goals you wish for as an outcome? could you say a bit more about your background as well, please?
- osivertsson 5y agoIf you read https://www.worldcat.org/title/designing-data-intensive-applications-the-big-ideas-behind-reliable-scalable-and-maintainable-systems/oclc/1042165662 https://www.worldcat.org/title/designing-data-intensive-appl... you are probably ready to read research articles of basic concepts that Tanenbaum's book references. When doing my MSc in CS at Uppsala University we implemented a distributed system. We used Tanenbaum's book and while very good it was a bit terse on details. Looking up the actual research papers referenced was helpful during implementations.
- bwh2 5y agoI also enjoyed: * Release It! by Michael Nygard * System Design Interview by Alex Xu
- vinay_ys 5y agoSeek out distributed systems research papers from real-world practitioners. A quick search lead me to this nice collection: https://dancres.github.io/Pages/ https://dancres.github.io/Pages/
- skrtskrt 5y agoDesigning Data Intensive Applications has treated me well, getting me through pretty much every system design interview I have had. I am going to move onto either * O'Rielly Designing Distributed Systems or * O'Rielly Architecture Patterns with Python Could anyone recommend either one? I am mainly a Python dev (with no particular love for Python), but that doesn't necessarily make me want to use the Python book more. Having code examples I can grok immediately is nice, but I also enjoy the exercise of translating concepts to code myself.
- aynyc 5y agoDesigning Distributed Systems This is more for devop folks, rather than creating your own distributed system.
- playing_colours 5y agoO’Reilly Building Event-Driven Microservices is a solid book to continue. I would not recommend Architecture Patterns with Python. Some patterns there are questionable and introduce more complexity. Also, they talk about using Kafka and Service Bus in the book, but never mention an important issue you may face in real implementation: consistency in updating both a message bus and a database that usually is addressed with Outbox pattern https://microservices.io/patterns/data/transactional-outbox.html https://microservices.io/patterns/data/transactional-outbox....
- devinmcafee 5y agoWhile not a book: I took Udi Dahan's Advanced distributed systems design course in 2018 and can't recommend it enough: https://particular.net/adsd https://particular.net/adsd I'm pretty sure there is an online course available which you can watch, so it's a slightly different medium but may be a nice change of pace from reading. The course was really informative for me and has really been paying dividends in my career.
- fisheuler 5y agoKen Birman's (https://www.cs.cornell.edu/ken/ https://www.cs.cornell.edu/ken/)' book "Guide to Reliable Distributed Systems: Building High-Assurance Applications and Cloud-Hosted Services" He even give a course about topics in cloud computing : https://www.cs.cornell.edu/courses/cs5412/2021sp/ https://www.cs.cornell.edu/courses/cs5412/2021sp/ Another interesting course about distributed system is from MIT https://pdos.csail.mit.edu/6.824/schedule.html https://pdos.csail.mit.edu/6.824/schedule.html
- rvprasad 5y agoWhile they are not solely focused on distributed systems, these five books -- https://rvprasad.medium.com/books-about-designing-systems-of-scale-295a7a91997c https://rvprasad.medium.com/books-about-designing-systems-of... -- cover different aspects of designing systems of scale, which are most often distributed systems.