In an internal discussion around some high write volumes we have coming down the pipe, an interesting idea came up. As we currently understand the replication process, a document is sent from the client SDK to whatever node is hashes to in the cluster map. The document sits in the write-queue of that node until it is replicated to other node(s) and is flushed to disk.
In a way, this creates a single point of failure for a short period of time while the document sits in write-queue of the primary node. Has the idea ever been floated to have the client SDK be responsible for writing the replica data as well? That would give you the performance of not waiting for a persistTo or replicateTo call, with the enhanced durability of knowing your primary & replica data are written independently.