I have deployed 3 MongoDB nodes(node-1, node-2, node-3) in AWS. The first two nodes (node-1, node-2) are deployed in Virginia region and the third node(node-3) is deployed in Oregon region and enabled VPC peering and the replication is working fine.
Current Scenario ::
Virginia : Node-1 (Primary) and Node-2 (Secondary)
Oregon: Node-3 (Secondary)
Failover Scenario::
if the Virginia region goes down,
1. Both the Node-1 and Node-2 will also be down.
2. Third node (Node-3) has to be Primary
And the Virginia region comes back,
1. Node-1 and Node-2 has to be secondary
2. Node-3 has to continue being primary
But, Now if the Virginia goes down the third node(node-3) is still in Secondary. I have to manually make the node as Primary. Is there any automated way or alternate solution to do this.
Best Answer
Yes
, As per MongoDB Blog documentation hereMongoDB Atlas
ensures high availability with a fault-tolerant and self-healing architecture. Replica set members are distributed across availability zones in a customer’s selected region; should a node fail, the election and failover process happen automatically without intervention. You can also choose from41
regions acrossAWS
,Azure
,GCP
, ensuring that your managed databases are in close proximity to your application servers for minimal geographic latency.You can deploy across multiple regions for better availability guarantees, meaning that replica set members in additional regions will participate in the election and automated failover process should your primary fail. Note that you can also select your preferred region; this is the region where reads and writes will default to assuming that there are no active failure or failover conditions.
You can also deploy read-only replica set members. Read-only replica set members allow you to optimize for local reads (reduce read latency) across different geographic regions using a single MongoDB deployment. As the name suggests, these replica set members will not participate in the election and failover process and can never be elected to a primary replica set member.
For further your ref here and here