Where possible, consider deploying one member of each replica set
in a site suitable for being a disaster recovery location.
Sharding requires at least two shards to distribute sharded data. Single
shard sharded clusters may be useful if you plan on enabling sharding in the
near future, but do not need to at the time of deployment.
You can deploy a mongos router on each application server to ensure
each server has consistent access to the sharded cluster. Alternatively,
deploy a group of mongos routers and use a proxy or load balancer
between the application and the mongos group. In these deployments,
you must configure the load balancer for client affinity such that every
connection from a single client reaches the same mongos.