I would like to get your comments about what is the best and minimalistic architecture for mission critical apps where HA, fault-tolerance, geo-redundancy, high performance is required:
- One Cluster (serving 2 nodes initially and then scaled horizontally based on need)
- Big RAM space for memcache. Is there any best practice size for memcache?
- Replication is applied for fast performance where fault-tolerance is required. If one of the servers go-down, the second server which is active will hold all the data for the cluster.
- XDCR replication can be applied for geo-redundancy.
In the above case, the disk capacity should be planned accordingly because one bucket of data will be stored 4 times: One in cluster replica, one for itself, and one for the synch-gateway (if synchronization required), one for the replica of synch-gateway.