What's the recommended way to deploy config servers?
Assume, we have two shards, each one is a 3-nodes replica set. If I deploy all config servers together with one of these shards, a single network partition can make the second shard completely not functional.
If I deploy 3 config servers in a distributed fashion, then after a network partition both shards will be available, but in read-only mode.
If I deploy config servers to a separate datacenter, it will just move the point of failure from shard-to-shard network part to shard-to-datacenter network part.
Any better options?