2011-03-31 221 views
7

我正在为使用MongoDB的并发用户寻找最佳负载平衡选项。我查看了Master Slave复制,但不认为这会负载平衡。 MongoDB是否有任何开源数据库负载平衡器?MongoDB负载均衡

我看过红杉,但看起来像项目不再积极支持。

请注意:数据不是很大&也不能用于分片。

+0

我知道我迟到了派对,使用java驱动程序的ReadPreference作为最近的副本种子读取负载平衡。在没有分片的情况下,在MongoDB中写入负载平衡是不可能的。 – Amareswar 2013-01-31 01:19:19

回答

12

如果您在驱动程序中设置了slaveOK,则Master Slave和副本集都将在MongoDB中负载均衡。

当slaveOK被启用时,MongoDB驱动程序将所有读取指向辅助节点/从节点。

这提供了相对有效的读取平衡;写平衡你唯一的选择。将分片。

+0

+1 Bah,贴到帖子:) – AdaTheDev 2011-03-31 13:27:26

+0

谢谢布伦丹。关于分片,我的理解是,密钥应该属于一个组/模式,才会有效。例如:时间戳(范围),状态分区数据。如果我的分片密钥是唯一的,那么它是否会降低性能?另外,如果我的数据不是很大,并且可以说有分片键的模式,那么在同一台计算机上分片以获得更快的响应时间会更好吗? – isobar 2011-04-01 02:46:10

+0

分片是另一袋蠕虫。我建议通过克里斯蒂娜的帖子选择一个分片键来更好地理解:http://www.snailinaturtleneck.com/blog/2011/01/04/how-to-choose-a-shard-key-the-card-game / – 2011-04-01 20:01:51