I highly recommend MIT open courseware 6.824. Incredibly valuable for learning distributed systems, and one of the lab assignments is implementing raft in Go. http://nil.csail.mit.edu/6.824/2022/schedule.html

There are a ton of fascinating and potentially frustrating edge cases and gotchas to implementing raft correctly. There's no better way to understand it than actually implementing it, and I probably never would have done it myself without these course materials.

Unfortunately, I hit a roadblock while implementing the Raft assignment. I knew it was simply beyond my capabilities but would have made through if I had anyone I could reach out to. I second this recommendation, but make sure you know what you are signing up for. This course is as hard as they come.

I have found the performance tests very tricky to get to pass without having any input from others. The assignment is really very unforgiving, I would wager the test suite is comparable to how commercial Raft implementations are tested (e.g. https://github.com/hashicorp/raft)