Programming Distributed Computing Systems: A Foundational Approach (MIT – GOOD

A nice touch in this unbranded textbook is the real-world applications section.