2011-03-31 14 views
7

Estaba buscando la mejor opción de equilibrio de carga para usuarios concurrentes con Mongo DB. He observado la replicación de Master Slave pero no creo que esto equilibre la carga. ¿Hay algún equilibrador de carga DB de fuente abierta para Mongo DB?Equilibrio de carga MongoDB

He mirado a Sequoia pero parece que ese proyecto ya no se admite activamente.

Tenga en cuenta: Los datos no son muy grandes & tampoco se utilizan para sharding.

+0

Sé que llego tarde a la fiesta, use ReadPreference del controlador de java como Más cercano para el equilibrio de carga de lectura entre las semillas de la réplica. El equilibrio de carga de escritura no es posible en MongoDB sin fragmentación. – Amareswar

Respuesta

12

Tanto el Esclavo maestro como los Conjuntos de réplica cargarán el saldo en MongoDB, si configura slaveOK en su controlador.

Cuando slaveOK está habilitado, los controladores MongoDB dirigen todas las lecturas a secundarios/esclavos.

Esto proporciona un equilibrio de lectura relativamente efectivo; para escribir, equilibrar tu única opción. Sería sharding.

+0

+1 Bah, saltó a la publicación :) – AdaTheDev

+0

Gracias Brendan. En sharding, entiendo que la clave debe pertenecer a un grupo/patrón solo entonces será efectiva. Por ej .: Marca de tiempo (Rango), indica datos de partición. Si mi clave de fragmento es única, ¿no degradará el rendimiento? Además, si mis datos no son enormes y digamos que hay un patrón para la clave del fragmento, ¿no será mejor fragmentar en la misma máquina para obtener tiempos de respuesta más rápidos? – isobar

+0

Sharding es otra bolsa de gusanos. Recomiendo leer la publicación de Kristina sobre cómo seleccionar una clave de fragmento para comprender mejor: http://www.snailinaturtleneck.com/blog/2011/01/04/how-to-choose-a-shard-key-the-card-game / –

Cuestiones relacionadas