Would also recommend reading VLDB and DB it shows how distri algorithms are applied - http://www.vldb.org/pvldb/vol9.html - http://www.redbook.io/
Disclaimer: I used to work at Couchbase(distributed NoSQL database) as a PM and launched Eventing.