首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在共享数据库上配置Meteor Oplog尾矿

如何在共享数据库上配置Meteor Oplog尾矿
EN

Stack Overflow用户
提问于 2014-09-09 10:44:13
回答 2查看 1.4K关注 0票数 7

当我们在Meteor上开发一个贪婪的实时监控应用程序时,我们达到了单个MongoDB实例的极限。

目前,我们将DB迁移到一个带有2个碎片的分片集群中,但我们可能会扩展到6个碎片。(我有2台BladeE底盘和28台服务器)

如何在启用分片的mongo集群上配置Meteor跟踪?

谢谢,

EN

回答 2

Stack Overflow用户

发布于 2017-12-29 15:31:36

现在有一个好消息:)您可以轻松地使用带有Meteor的分片MongoDB数据库,只需稍微调整一下

虽然Meteor核心开发团队还没有为他们的RoadMap添加Oplog跟踪支持,但解决方法非常简单。您只需添加以下两个Meteor包:cultofcoders:redis-oplogdisable-oplog,添加另一个Redis服务器,稍微修改代码,就可以了。

Oplog不适用于分片MongoDB数据库的原因仅仅是因为核心开发团队还没有计划支持它。实际上,现在可以添加对切分数据库的支持。如果您添加了一组新记录并从所有碎片中读取具有可裁剪游标的Oplogs,您将注意到,MognoDB平衡器将将数据从shard01移动到shard02,其中记录id 0001shard01中删除并添加到shard02中。对于Meteor来说,这种情况似乎令人困惑,因为它不知道记录是被用户实际删除/添加,还是由MongoDB平衡器删除/添加。然而,有一种方法可以知道用户或MongoDB平衡器是否删除/添加了数据,因为我们可以通过fromMigrate标志来区分--在MongoDB官方网站博客上读到更多关于这一点的信息--所以我们现在可以做的是等待核心开发团队的更新,或者只需使用很少的技巧。

到目前为止,我发现的最有希望的解决方法是Meteor,称为cultofcoders:redis-oplog。它是开源的,可以在Github上使用(请查看它们的存储库以获得完整的文档)。它很容易使用)。这个包背后的想法是使用另一个Redis服务器作为pubsub系统-它不存储任何数据。这只是为了pubsub,而不是严重依赖Oplog的Meteor。这样,我们就不必担心Meteor尚未支持的Oplog数据库。Redis已经成熟,并已被许多大公司用于生产。它与Meteor完全兼容,您不必改变使用Meteor的方式。但是,在更新集合的数据时,您必须稍微调整代码,以便将更改发布到Redis,然后包cultofcoders:redis-oplog将处理其余的更改。

票数 1
EN

Stack Overflow用户

发布于 2015-07-22 15:51:45

似乎Meteor还不支持使用>1片的mongoDB设置:https://forums.meteor.com/t/mongodb-sharding-and-livequery/3712

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25742615

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档