-
Type: Improvement
-
Resolution: Won't Do
-
Priority: Major - P3
-
None
-
Component/s: Load Balancer
-
None
-
Needed
Optimized Connection Strings enable sharded multi-region Atlas clusters behind a Private Endpoint to take advantage of a load balancer.
Only a single load balancer would be available, and this would be configured in a single cloud provider region. In the event of a full-region outage, though the cluster is configured as being "multi-region", there is no mechanism for failover to another load balancer.
To address this one option would be to support more than one load balancer in a connection string when loadBalanced=true is detected. Currently the URI Validation section of the Load Balancer specification indicates that the "driver MUST throw an exception if [...] the connection string contains more than one host/port.", so this would need to be adjusted.
DNS seedlist discovery is also disabled in loadBalanced=true mode, which could be revised to allow discovery via DNS of additional load balancers if configurations change.
The goal would be to allow drivers to discover/failover to a secondary load balancer in the event that the primary balancer becomes unavailable. As drivers in loadBalanced=true mode are not performing SDAM there would need to be some element of monitoring available to facilitate a seamless failover.