Most of these topics have scant literature, or what is there is very theoretical in nature rather than something directly reducible to practice.
Greedy routing theory does have a lot of literature around it because it is used a lot in Layer-2 and Layer-3 packet routing protocols to optimize aggregate throughput of inherently decentralized systems. A lot of the robustness of modern IP networks are explained by this. However, above Layer-3 and particularly at the application level you almost never see properly designed distributed protocols; the people that design L2 routing protocols are not the people that design distributed systems and the knowledge is not transferred. (Admittedly this is a difficult mathematical area to understand with a lot of open problems. I know just enough to make good design decision but otherwise do not understand the underlying math.)
I've stated many times that the HPC algorithm people could learn a lot from the people that design distributed databases and that distributed databases theory can learn a lot from the people that design massively parallel HPC algorithms. As far as I can tell, those two groups of people do not talk to each other. I just happen to have done considerable R&D in both fields so I see what people in both domains are missing.
I've recently been tasked with writing about some of these topics, which should be interesting. My intent was not to bash or gloat but to highlight the point that we can do much better than we (or even I) are currently doing with distributed systems.