I am curious why CRDB chose to assign a Raft cluster to every split (multi-Raft) in exploring the replication design space. The major downside is that the network and storage layers must to be tightly coupled to the raft implementation for replication efficiency and performance.
An alternative design would be to allow a Raft cluster to host many splits. If you split a range into two subsplits, the resulting splits could still be replicated by the same Raft instance. One would need to add a protocol that moves splits among Raft clusters.
What is the main benefit of multi-Raft? I guess the common behavior is that one splits ranges due to size. With Multi-Raft after a split you then have two Raft clusters and perhaps you use Raft add and remove configuration operations to migrate the Raft clusters to other nodes. Multi-Split-Raft would separate replication and data organization, which seems to provide more flexibility.