I am currently taking the Parallel, Concurrent and Distributed Programming specialisation in Java at Coursera. It covers some of the topics. You could also just take the third course that deals with distributed computing.
You can check it out here: coursera.org/specializations/pcdp
We're a place where coders share, stay up-to-date and grow their careers.
We strive for transparency and don't collect excess data.