Skip to main content

Multi-mongos Support in Mongoose

Multi-mongos Support in Mongoose | Rustcode

Multi-mongos Support in Mongoose

In a MongoDB sharded cluster, multiple mongos instances act as query routers to distribute requests across shards. Mongoose and the underlying MongoDB driver support connecting to multiple mongos instances to improve availability and load balancing.


Configuring Multiple mongos Instances

To connect to multiple mongos instances, include all mongos hosts as comma-separated host:port pairs in your connection URI:

mongoose.connect('mongodb://mongos1:27017,mongos2:27017,mongos3:27017/mydb', {
  useNewUrlParser: true,
  useUnifiedTopology: true
});
  

This allows the driver to automatically select and failover between mongos instances as needed.


Benefits of Multi-mongos Support

  • High Availability: If one mongos instance goes down, the driver can route traffic to others.
  • Load Balancing: Distributes client requests across multiple mongos routers, improving throughput.
  • Fault Tolerance: Minimizes single points of failure in sharded deployments.

Connection String Best Practices

  • Always specify all available mongos hosts in the connection URI.
  • Use useUnifiedTopology: true for modern server discovery and monitoring.
  • Monitor application and driver logs to ensure mongos failover works as expected.

Summary Table

Feature Description Notes
Multiple mongos hosts List all mongos routers in connection string Ensures failover and load balancing
UseUnifiedTopology Enables modern server monitoring Recommended default option
Failover support Automatic switch between mongos instances Improves reliability

Conclusion

Mongoose's support for multiple mongos instances in a sharded cluster ensures better availability and load balancing for your applications. Properly configuring the connection string and using unified topology options are key to leveraging these benefits effectively.

Comments