You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: source/resiliency.txt
+24-7Lines changed: 24 additions & 7 deletions
Original file line number
Diff line number
Diff line change
@@ -29,7 +29,10 @@ Database Replication
29
29
|service| {+clusters+} consist of a minimum of three nodes, and you can increase
30
30
the node count to any odd number of nodes you require. |service| first writes data
31
31
from your application to a primary node, and then |service| incrementally replicates
32
-
and stores that data across all secondary nodes within your {+cluster+}.
32
+
and stores that data across all secondary nodes within your {+cluster+}. Additionally,
33
+
you can control the durability of your data storage by adjusting the write concern
34
+
of your application code to complete the write only once a certain number of secondaries
35
+
have committed the write. To learn more, see :ref:`resiliency-read-write-concerns`.
33
36
34
37
By default, |service| distributes {+cluster+} nodes across availability zones within
35
38
one of your chosen cloud provider's availability regions. For example, if your
@@ -49,7 +52,7 @@ and reads directly.
49
52
In the event that a primary node is unavailable, because of infrastructure
50
53
outages, maintenance windows or any other reason, |service| {+clusters+} self-heal
51
54
by converting an existing secondary node into your primary node to maintain
52
-
database availability.
55
+
database availability. To learn more about this process, see `How does MongoDB Atlas deliver high availability? <https://www.mongodb.com/docs/atlas/reference/faq/deployment/#how-does-service-fullname-deliver-high-availability->`__
53
56
54
57
Maintenance Window Uptime
55
58
`````````````````````````
@@ -59,6 +62,8 @@ a rolling fashion to one node at a time. During this process, |service| elects a
59
62
primary when necessary just as it does during any other unplanned primary node
60
63
outage.
61
64
65
+
When you `configure a maintenance window <https://www.mongodb.com/docs/atlas/tutorial/cluster-maintenance-window/>`__, select a time that corresponds to when your application has the lowest amount of traffic.
66
+
62
67
Monitoring
63
68
``````````
64
69
@@ -73,17 +78,20 @@ and :ref:`Monitoring and Alerts <arch-center-monitoring-alerts>`.
73
78
74
79
Deployment Resilience Testing
75
80
`````````````````````````````
76
-
77
81
You can simulate various scenarios that require disaster recovery workflows in
78
82
order to measure your preparedness for such events. Specifically, with |service|
79
83
you can `test primary node failover <https://www.mongodb.com/docs/atlas/tutorial/test-resilience/test-primary-failover/#std-label-test-failover>`__
80
-
and `simulate regional outages <https://www.mongodb.com/docs/atlas/tutorial/test-resilience/simulate-regional-outage/#std-label-test-outage>`__.
84
+
and `simulate regional outages <https://www.mongodb.com/docs/atlas/tutorial/test-resilience/simulate-regional-outage/#std-label-test-outage>`__. We strongly recommend that you run these tests before
85
+
deploying an application to production.
81
86
82
87
Cluster Termination Safeguards
83
88
``````````````````````````````
84
89
85
90
You can prevent accidental deletion of |service| {+clusters+} by enabling
@@ -114,7 +122,14 @@ We recommend that you use the most `current driver version <https://www.mongodb.
114
122
for your application's programming language whenever possible. And while the
115
123
default connection string |service| provides is a good place to start, you might
116
124
want to tune it for performance in the context of your specific application
117
-
and deployment architecture. `Tuning your connection pool settings <https://www.mongodb.com/docs/manual/tutorial/connection-pool-performance-tuning/>`__
125
+
and deployment architecture.
126
+
127
+
For example, you might want to set a short :urioption:`connectTimeoutMS` for a
128
+
microservice that provides a login capability, whereas you may want to set the
129
+
``connectTimeoutMS`` to a much larger value if the application code is a long-running
130
+
analytics job request against the cluster.
131
+
132
+
`Tuning your connection pool settings <https://www.mongodb.com/docs/manual/tutorial/connection-pool-performance-tuning/>`__
118
133
is particularly important in the context of enterprise level application deployments.
119
134
120
135
Connection Pool Considerations for Performant Applications
@@ -181,6 +196,8 @@ and `retryable write <https://www.mongodb.com/docs/manual/core/retryable-writes/
181
196
operations. When enabled, |service| retries read and write operations once as a
0 commit comments