Learning distributed systems is tough. You need to go through a lot of academic papers, concepts, code review, before being able to have a global pictures. Thankfully, there is a lot of resources out there that can help you to get started. Here's a list of resources I used to learn distributed systems. I will keep this blogpost up-to-date with books, conferences, and so on.