Replikuppsättningar i MongoDB kan bara ha en enda master vid denna tidpunkt. (Det kallas det primära i en replikuppsättning.) För ditt scenario är lösningen ofta att använda ett fragmenterat kluster. I ditt exempel skulle du ha två skärvor:en för data från server A och den andra för data från server B. Båda skärvorna är implementerade som replikuppsättningar, så var och en har minst tre servrar. Du skulle sedan placera den primära av A shard i samma datacenter A och den primära av B shard i datacenter B. Åtminstone en replik av varje shard (kallad sekundär) skulle finnas i det andra datacentret.
Det betyder att all data finns tillgänglig i varje datacenter, men skrivning till A-skärven behöver alltid ske i datacenter A, och skriver till B-shard i datacenter B. (Även om skrivningar också kan göras på distans, så att du kan skriva till skärva A från datacenter B, det är bara det att det är en fjärrskrivning i det här fallet.)