Standing on the Shoulders of Giants

Let's conclude the consensus.

At this point, we have spent enough time examining all the small details of the various consensus algorithms. This can prove to be very useful when one thinks about how to design a system, what kinds of guarantees it would require, or even when troubleshooting edge cases.

Hopefully, we have realized by now that these problems are very complicated. As a result, creating an algorithm that solves these problems or even translating an existing algorithm to a concrete implementation is a really big undertaking.

If there is an existing solution out there, we should first consider re-using this before rolling out our own since it’s highly likely that the existing solution would be much more mature and battle-tested.

This is true not only for consensus but other problems inherent to distributed systems as well.

A later chapter contains some case studies of basic categories of such distributed systems that we can leverage to solve some common problems.

Get hands-on with 1200+ tech skills courses.