Les ensembles de répliques dans MongoDB ne peuvent avoir qu'un seul maître à ce stade. (C'est ce qu'on appelle le primaire d'un jeu de réplicas.) Pour votre scénario, la solution consiste souvent à utiliser un cluster partitionné. Dans votre exemple, vous auriez deux fragments :un pour les données du serveur A et l'autre pour les données du serveur B. Les deux fragments sont implémentés en tant que jeux de réplicas, de sorte que chacun a un minimum de trois serveurs. Vous placeriez alors le primaire du fragment A dans le même centre de données A, et le primaire du fragment B dans le centre de données B. Au moins une réplique de chaque fragment (appelée secondaire) serait située dans l'autre centre de données.
Cela signifie que toutes les données sont disponibles dans chaque centre de données, mais les écritures sur le fragment A doivent toujours avoir lieu dans le centre de données A, et les écritures sur le fragment B du centre de données B. (Bien que les écritures puissent également être effectuées à distance, vous peut écrire sur le fragment A à partir du centre de données B, c'est juste qu'il s'agit d'une écriture à distance dans ce cas.)