The article consists of three parts: an introduction to Raft itself, a tour of the implementation of Raft using Scala and ZIO, and finally, a discussion on how the programming model influences the design, both in positive and negative ways.If you're familiar with some of these topics, or are interested in only one of the parts, simply jump to the relevant section.